NodeJs模块化
一、导入模块
在模块中使用 require 传入文件路径即可引入文件
const test = require('./me.js');
案例:在func.js中定义一个函数,在index.js使用该函数
func.js
function test() {
console.log("hello 模块化")
}
//暴露数据
module.exports = test;
index.js
//导入模块
const test = require('./func');
//调用函数
test()
二、模块暴露数据
- 方式一:module.exports
- 方式二:exports
func.js
function test() {
console.log("hello 模块化")
}
function demo() {
console.log("hello demo")
}
//第一种方式:暴露数据 可以暴露 任意 数据
module.exports = {
test,
demo
};
//第二种方式:exports 不能使用 exports = value 的形式暴露数据
// exports.test = test;
// exports.demo = demo;
index.js
//导入模块
const func = require('./func');
//调用函数
func.test();
func.demo();
三、注意事项
require 使用的一些注意事项:
- 对于自己创建的模块,导入时路径建议写 相对路径 ,且不能省略 ./ 和 …/
- js 和 json 文件导入时可以不用写后缀,c/c++编写的 node 扩展文件也可以不写后缀,但是一
般用不到 - 如果导入其他类型的文件,会以 js 文件进行处理
- 如果导入的路径是个文件夹,则会 首先 检测该文件夹下 package.json 文件中 main 属性对应
的文件,
如果存在则导入,反之如果文件不存在会报错。
如果 main 属性不存在,或者 package.json 不存在,则会尝试导入文件夹下的 index.js 和
index.json ,
如果还是没找到,就会报错 - 导入 node.js 内置模块时,直接 require 模块的名字即可,无需加 ./ 和 …/