模块加载及第三方包

1. Node.js模块化开发

1.1 JavaScript开发弊病

JavaScript在应用时存在两大问题,文件依赖和命名抵触。

1.2 软件中的模块化开发

一个性能就是一个模块,多个模块能够组成残缺利用,抽离一个模块不会影响其余性能的运行。

1.3 Node.js中模块化开发标准
  • Node.js规定一个JavaScript文件就是一个模块,模块外部定义的变量和函数默认状况下在内部无奈失去
  • 模块外部能够应用exports对象进行成员导出, 应用require办法导入其余模块。

1.5 模块成员导出
  // a.js  // 在模块外部定义变量 let version = 1.0; // 在模块外部定义方法 const sayHi = name => `您好, ${name}`; // 向模块内部导出数据  exports.version = version; exports.sayHi = sayHi;
1.6 模块成员的导入

导入模块时后缀能够省略

  // b.js  // 在b.js模块中导入模块a let a = require('./b.js');  // 输入b模块中的version变量 console.log(a.version);  // 调用b模块中的sayHi办法 并输入其返回值 console.log(a.sayHi('')); 
1.7 模块成员导出的另一种形式
module.exports.version = version;module.exports.sayHi = sayHi;

exports是module.exports的别名(地址援用关系),导出对象最终以module.exports为准

1.8 模块导出两种形式的分割与区别
exports.version = version;module.exports.version = version;
module.exports = {     name: 'zhangsan',}