CommonJS模块化规范
- 加载时机:
- 服务器端: 模块的加载是运行时同步加载的,node.js实现了模块化规范
- 浏览器端: 模块需要提前编译打包处理,需使用Browserify编译打包,推荐使用ESM
- 暴露模块:module.exports、exports
- 导入模块:require
模块导出
- module.exports = 任意数据 (字符串、整数、布尔值、对象)
- exports.模块名 = 任意数据 (字符串、整数、布尔值、对象),相当于
exports={模块名: 任意数据} - module.exports 与 exports 的关系:
- 在模块内部存在一种隐式关系:
exports = module.exports = {} - 模块最终取的是module.exports的值
exports只能是引用类型数据,不能使用exports = 基本类型的数据。如果 exports = ‘abc’,不会改变模块返回的结果,因为module.exports为{},所以模块返回的是
- 在模块内部存在一种隐式关系:
本文介绍了Node.js中的CommonJS模块化规范,包括加载时机、模块导出和导入方式。CommonJS模块在服务器端同步加载,浏览器端需通过Browserify编译。模块导出使用`module.exports`或`exports`,导入则使用`require`方法。当`exports`赋值时,实际返回的是`module.exports`的值。导入自定义模块时,会进行路径解析、缓存检测和文件执行等步骤。
订阅专栏 解锁全文
1451

被折叠的 条评论
为什么被折叠?



