Bootstrap

Node.js_基础知识(CommonJS模块化)

CommonJS模块化规范

  1. 加载时机:
    • 服务器端: 模块的加载是运行时同步加载的,node.js实现了模块化规范
    • 浏览器端: 模块需要提前编译打包处理,需使用Browserify编译打包,推荐使用ESM
  2. 暴露模块:module.exports、exports
  3. 导入模块:require

模块导出

  1. module.exports = 任意数据 (字符串、整数、布尔值、对象)
  2. exports.模块名 = 任意数据 (字符串、整数、布尔值、对象),相当于exports={模块名: 任意数据}
  3. module.exports 与 exports 的关系:
    • 在模块内部存在一种隐式关系:exports = module.exports = {}
    • 模块最终取的是module.exports的值
    • exports只能是引用类型数据,不能使用exports = 基本类型的数据。如果 exports = ‘abc’,不会改变模块返回的结果,因为module.exports为{},所以模块返回的是{}

模块导入

  1. 使用require方法导入文件:

    • 自定义的模块:路径建议写相对路径 const m = require('./m.js');,并且不能省略
;