写一段js代码,在浏览器控制台执行和node命令行中执行效果是一样的。内置对象方面,node中没有一些浏览器对象如window,而多了http、process等对象。
Node.js模块化遵循了CommonJS规范。主要步骤:
1.创建模块
2.导出模块
3.加载模块
4.使用模块
比如,创建一个模块car.js ,exports是导出模块的关键,可以理解exports上挂载的就是模块。
car.js
1 function add(car) { 2 console.log('Add car:' + car) 3 } 4 5 var type = 'Car' 6 7 exports.add = add 8 exports.type = type
vehicle.js中第一行通过require加载了模块car.js,返回对象并赋值给变量car。这里的car就有了在car.js中exports挂载的内容。
vehicle.js
1 var car = require('./car') 2 3 car.add('BMW') 4 console.log('Type: ' + car.type)
如果再加个模块trunk.js ,用法是完全一样的。
trunk.js
1 function add(trunk) { 2 console.log('Add trunk:' + trunk) 3 } 4 5 var type = 'Trunk' 6 7 exports.add = add; 8 exports.type = type;
vehicle.js也可以继续模块化暴露,只要使用exports挂载想要暴露的内容即可。
本系列目前参考了Node.js官网,慕课网Scott的Node.js基础,《Node即学即用》图灵系列,以及可能的网上公开资源。