模块加载及第三方包
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',}