nodejs模块化

nodejs模块化

module对象是node自带的模块化对象,该对象下有一个空对象exports,我们将需要暴漏出去的对象,直接赋值给exports即可,就对外暴漏了接口。

require引入

在需要引入的模块中,使用require引入,再用变量接收。
格式:let 变量名 = require(“模块化路径”);
如:

let moduleA = require("./a.js");

module.exports与exports的区别

extports:可以多次导出,本质与module.exports是相等的
module.exports:只能导出一次,多次导出最后一次生效
extports是一个引用,指向的是module.exports
如果在同一文件中使用两种导出,给exports添加的属性和方法也会添加在module.exports上。而添加在module.exports上的属性与方法则不会添加在exports上。

nodejs模块

1,自定义模块

需要自己手动导出
定义模块:
通过module.exports = {} 导出
通过exports.属性名 = value 导出
引入模块:
const 变量名 = require(”模块路径“)

2,内置模块

nodejs原生提供,可直接使用
1,读取文件
引入fs内置模块,此模块用来操作文件。fs:filesystem,文件操作系统。

	引入模块
const fs = require("fs");

调用readFile方法,读取文件内容

fs.readFile("./b.txt",'utf-8',function(err,data){
  console.log("错误信息为"+err);
  console.log("读取到的内容为"+data);
})

readFile()第一个参数:指定读取文件的路径
readFile()第二个参数”utf-8“:指定读取的编码
readFile()第三个参数:回调函数,读取的时候执行的操作。
err 是读取失败时的错误信息
data 是读取的内容。
2,写入内容

// 引入fs内置模块
const fs = require("fs");
let data = "hello world";
// writeFile 方法是写入,覆盖式  第一个参数:写入文件的路径
// 第二个参数:写入的内容。
// 第三个参数:一个函数,写入完成后执行. err表示错误信息,如果成功执行,则err为null
fs.writeFile("./a.txt",data,function(err){
  if(err){
    console.log(err);
  }
})
// appendFile 追加
// fs.appendFile("./a.txt",data,function(err){
//   if(err){
//     console.log(err);
//   }
// })

3,文件的读写

const fs = require("fs");
fs.readFile("./a.txt","utf-8",function(err,data){
  if (err) {
    console.log("读取失败:"+err);
    return;
  }
  fs.writeFile("./b.txt",data,function(err){
    if (err) {
      console.log("写入失败:"+err);
    }
  })
})

4,删除文件

const fs = require("fs");

fs.unlink("./a.txt",function(error){
  if (error) {
    console.log("删除失败,原因:"+error);
  }
  console.log("删除成功!");
})

5,创建文件夹

const fs = require("fs");

fs.mkdir("a",function(err){
  if (err) {
    //对错误进行处理
    console.log("创建文件夹失败,原因:"+err);
  }
  console.log("创建成功");
})

6,重命名

const fs = require("fs");
fs.rename("c","d",function(err){
  if (err) {
    console.log("重命名失败,原因:"+err);
  }else{
    console.log("重命名成功");
  }
})

路径模块

路径模块:包含了一系列处理和转换文件路径的工具集合。
为什么要使用路径模块?
window 文件的分隔符是 \ / 在Linux下只有/
引入:

const path = require("path");

path.join()
作用:拼接路径

let filePath = path.join("static","img","heixin001","kenghuo002");
// 输出结果:static\img\heixin001\kenghuo002
// 如果是Linux 输出结果:static/img/heixin001/kenghuo002
console.log(filePath);

path.extname(文件路径)
作用: 获取文件的后缀名
__dirname:获取当前文件所在的绝对路径
在node中,操作文件时需要使用绝对路径,引入模块时使用相对路径
node中,相对路径不是按照当前文件来执行的,而是按照命令行所在的目录下。

const path =require("path");
const fs = require("fs");
fs.readFile(path.join(__dirname,"a.txt"),"utf-8",function(err,data){
  if (err) {
    console.log("读取失败:"+err);
  }else{
    console.log("读取的内容:"+data);
  }
})

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值