模块规范(commonjs)是做一个大的nodejs应用程序的基础
1.<script/>
- 脚本过多时,需要手动管理加载顺序。
- 不同脚本之间逻辑调用,需要通过全局变量的方式。
- 没有
html怎么办?
由此,引出了commonJS模块规范:
- javascript社区发起,在
Node.js上应用并推广 - 后续也会影响到浏览器端
Javascript
2.commonjs模块规范:
-
引用
js需要使用requier() -
09.commonjs模块规范
├─ index.js
└─ lib.js//lib.js console.log("我是lib中的代码");//index.js console.log("开始") var lib=require("./lib"); console.log("我是被引用的空对象",lib); -
运行
node index.js
从上图中可以看到,引入的lib默认为空对象。
2.1:exports导出:
🚀:那么如何才能让引用的lib不为空对象呢?
代码修改以及结果如下:
继续修改代码如下图:
- 可以看到,打印出的
lib对象拓展了。
🚀:在index.js代码中通过require('./lib.js')引用的结果var lib =...和代码lib.js中的代码是否是同一个引用呢?
验证:
console.log("开始")
var lib=require("./lib");
lib.time = new Date();
console.log("我是被引用的空对象",lib);
在引入lib后对lib添加一个time属性,得到的结果如下:
- 可以看到,引入后新添加的
time属性也被添加到了time