• node.js的认识与了解2


    在node.js环境中 有两个全局变量 __dirname(当前js文件所在的目录) __filename(当前js文件的目录)他们均保留的字符串

    var fs=require("fs")

    fs.readFile(__dirname+"/index.html",(err,data)=>{

        console.log(data)

    })  //这里就是读取这个js所在的文件夹中的index.html文件

    可以通过这种方法来设计静态网站

    fs模块中对文件进行操作的模块包括:

    1.读取文件

    1. // fs.readFile(__dirname+"/src/movie.mp4",(err,data)=>{
    2. //  console.log("movie",data)
    3. // })

    2.写入文件信息

    1. // fs.writeFile(__dirname+"/src/a.txt","hello",function(err){
    2. //  console.log(err)
    3. // }) 

    //(创建并写入文件信息:如果文件不存在 就会创建;如果文件夹不存在 就会报错 )

    3.删除文件

    1. // fs.unlink(__dirname+"/src/a.txt",(err)=>{
    2. //  console.log(err)
    3. // })

    4.拼接内容到文件

    1. // fs.appendFile(__dirname+"/src/b.txt","马上放学",(err)=>{
    2. //  console.log(err)
    3. // })

    (注意需要在内容中加上引号表示是字符串;如果这个文件不存在,会创建一个txt文件)

    5.创建一个文件夹

    1. // fs.mkdir(__dirname + '/test'function (err) {
    2. //     if(err)  throw err
    3. //     console.log('创建目录成功')
    4. //   })

    6.把旧文件移入新文件

    // var oldpath=__dirname+"/src/b"

    // var newpath=__dirname+"/src/a/b"

    // fs.rename(oldpath,newpath,(err)=>{})   //把文件b移到a文件下

    // var oldpath=__dirname+"/src/a/b"

    // var newpath=__dirname+"/src/a/c"

     // fs.rename(oldpath,newpath,(err)=>{})  //更改了a文件夹中b文件的名字 改为c了

    // var oldpath=__dirname+"/src/a/b.txt"

    // var newpath=__dirname+"/src/a/c.js"

    // fs.rename(oldpath,newpath,(err)=>{})  //更改了b.txt文件名为c.js

    //上述中oldpath,newpath不是同一个根盘操作会失败

     7.拷贝

    // var oldpath=__dirname+"/src/18.jpg"

    // var newpath=__dirname+"/src/a/18.jpg"

    // fs.copyFile(oldpath,newpath,(err)=>{

    //  fs.unlink(oldpath,()=>{})

    // })  //将18.jpg文件拷贝到a文件夹下 注意:在window系统中同一个文件夹中不能有两个名字相同的文件

    8.读取文件夹
     

    1. // fs.readdir(__dirname,(err,arr)=>{
    2. //  console.log(err,arr)
    3. // }) 

    //将会读取该js文件的上一层目录的所有文件

    //  网址:  URL  

    // http://www.baidu.com/20220728/news/page1/index.html?count=20&maxid=123456#top1

    //网址的组成:   

    协议  :  http://

    域名  : www.baidu.com

    pathname :  /20220728/news/page1/index.html     (通过path=url.parse(req.url).pathname得到)

    querystring :  count=20&maxid=123456

    (通过urlobj=url.parse(req.url)    queryobj=querystring.parse(urlobj.query)得到)

    hash  : top1

    第三方库 可以通过 npm i 加上库名来下载使用 这里我们学习了mime模块的使用 通过设定它就可以设定文件在浏览器的打开方式

    1. let type1=mime.getType(path) 
    2. res.setHeader("content-Type",type1)

    通过type1接受到path的类型,然后传给前端

  • 相关阅读:
    面向对象编程三大特性—封装、继承和多态
    Linux ARM平台开发系列讲解(调试篇) 1.6.4 NVIDIA AGX Xavier以太网MAC TO MAC模式
    win10环境安装使用docker-maxwell
    Spring IOC之ApplicationContextAware
    Mac PHP7.4安装
    调用MapReuce对文件中各单词出现次数统计
    PIL+pyplot+transforms.ToTensor+unsqueeze+div
    【图论C++】链式前向星(图(树)的存储)
    贝叶斯网络是神经网络吗,贝叶斯网络和神经网络
    ​软考-高级-系统架构设计师教程(清华第2版)【第3章 信息系统基础知识(p120~159)-思维导图】​
  • 原文地址:https://blog.csdn.net/WiChat/article/details/126040025