Node-01.CommonJS规范

156 阅读1分钟

模块规范(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

2.2 module.exports导出: