nodejs 3分钟学会系列教程(3) npm 第三方模块 fs模块

706 阅读2分钟

1、包

1)

  • 使用包的方法或者说是思想 需要先有
  • 第一步 需要 在npmjs.com 找到需要使用的包
  • 第二步 安装 这个包
  • 第三步 看文档 怎么使用 这个包

2) 举个例子 如果想使用 md5加密模块 怎么操作?

  • npm init --yes 生成 package.json

  • 然后 上npmjs.com 搜索md5 并且 看使用方法

  • 在文件夹 安装 就行 npm install md5

  • 使用方法 3)

  • 发现 测试成功了 !

有个 小技巧 安装模块 可以 带上 --save 会将 对应模块 放到 package.json dependencies里面

2、 再来一个 格式化时间的例子 silly-time

1) 先 安装 npm i silly-datetime --save

使用

var sd = require('silly-datetime');
var time = sd.format(new Date(), 'YYYY-MM-DD HH:mm');

console.log(time)

结果

2) 当然 一个 文件 可以引入 多个 包 都是可以的

  • 这个非常重要!!!
  • 这个也需要注意 3)

3、fs模块

对每一个 常用的方法都演示一下

1) fs.stat 检测是 文件还是 目录

  • app.js 里面 写这些内容


// 1、fs.stat  检测是文件还是目录

const fs = require("fs")
fs.stat('./html',(err,data)=>{
    if(err){
        console.log(err);
        return;
    }

    console.log(`是文件:${data.isFile()}`);
    console.log(`是目录:${data.isDirectory()}`)
})

结果

2)fs.mkdir 创建 目录

// 2、fs.mkdir 创建 目录 
const fs = require("fs")
fs.mkdir('./css',(err)=>{
    if(err){console.log(err);return ;}
    console.log('创建成功')
})

  • 有一个需要注意的事情 如果 再次执行一遍 会报错 因为 已经创建过了

3)fs.writeFile() 创建 写入文件

// 3、fs.writeFile() 写入文件
const fs = require("fs")

fs.writeFile('./html/index.html' ,"你好nodejs",(err)=>{
    if(err){
        console.log(err);
        return;
    }
    console.log('写入成功')  
})

  • 结果是符合预期的 是不是很 nice

  • 有一个需要 注意的事情 更改内容 再次执行后 会 覆盖掉 之前的内容 4)fs.appendFile() 追加文件

// 4、appendFile() 追加 文件 

const fs = require("fs")
fs.appendFile("./css/base.css",'body{color:red}',(err)=>{
    if(err){
               console.log(err);
                return;
           }
          console.log('appendFile 成功')  
})

  • 目的 顺利的达到啦
  • 需要注意一件事情 appendFile 追加文件 如果没有的话会先创建 有的话 会添加内容

5)fs.readFile() 读取文件 演示

  • 以读取 index.js 为例子
// 5、fs.readFile() 读取文件 
const fs = require("fs")
fs.readFile("./html/index.html",(err,data)=>{
   if(err){
            console.log(err);
            return;
                   }
            console.log(data)  
             console.log(data.toString()) //把 Buffer转化为 string类型
})

6)fs.readdir() 读取目录 得到该目录下的文件夹和 文件

// 6、fs.readdir()  读取目录
const fs = require("fs")
fs.readdir("./html",(err,data)=>{
      if(err){
                console.log(err);
                return;
                }
              console.log(data)  
 })

7)fs.rename 重命名/移动文件

// 7、fs.rename 重命名文件 
const fs = require("fs")

fs.rename("./css/index.css","./css/base.css",(err)=>{
      if(err){
                 console.log(err);
                 return;
                 }
               console.log('成功')  
})

//移动文件
fs.rename("./css/base.css","./html/base.css",(err)=>{
      if(err){
                 console.log(err);
                 return;
                 }
               console.log('移动成功')  
})

8)fs.unlink 删除文件

// 8、fs.unlink 删除文件
const fs = require("fs")

fs.unlink('./aaa/index.js',(err)=>{
          if(err){
                 console.log(err);
                 return;
                 }
               console.log('删除文件成功')  
})

9) fs.rmdir 删除目录 (需要先使用fs.unlink删除目录下面的文件才可)

// 9、fs.rmdir 删除目录
const fs = require("fs")

fs.rmdir('./aaa',(err)=>{
          if(err){
                 console.log(err);
                 return;
                 }
               console.log('删除目录成功')  
})