node.js 的模块化开发规范

node.js 的模块化开发

  • JavaScript 开发弊端:JavaScript 在使用时存在两大问题,文件依赖和命名冲突。
    node.js 的模块化开发规范_第1张图片

  • Node.js 规定一个 JavaScript 文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到。

  • 模块内部可以使用 exports 对象进行成员导出,使用 require方法 导入其他模块。
    node.js 的模块化开发规范_第2张图片

模块成员导出

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

模块成员的导入

// b.js
// 在b.js模块中导入模块a,后缀可以省略
let a = require( './b.js');
// 输出b模块中的version变量
console.log(a.version);
// 调用b模块中的sayHi方法并输出其返回值
console.log(a.sayHi('黑马讲师'));

模块成员导出的另一种方式

mocule.exports.version = version;
module.exports.sayHi = sayHi;

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

模块导出两种方式的联系与区别
node.js 的模块化开发规范_第3张图片
node.js 的模块化开发规范_第4张图片
实例:

const greeting = name -> `hello ${
       name}`;
const x = 100;
exports.x = x;
moduLe.exports.greeting = greeting;
//当exports对象和moudle.exports对象指向的不是同一个对象时以module.exports为准
moduLe.exports = {
     
	name: 'zhangsan'
}
exports = {
     
	age: 20
}

你可能感兴趣的:(node.js)