前端模块化总结——CommonJS

2019-06-11  本文已影响0人  H_DaYan

CommonJS

Node 应用由模块组成,采用 CommonJS 模块规范。

范例

a.js

var x = 5;
var addX = function(value) {
    return value + x;
}

module.exports.x = x;
module.exports.addX = addX;

b.js

var example = require('./this.js');

console.log(example.x);     // output: 5

说明

CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。

module对象

打印a.js的module对象

// a.js
...
module.exports.x = x;
module.exports.addX = addX;
console.log(module);

输出结果

Module {
  id: '.',
  exports: { x: 5, addX: [Function: addX] },
  parent: null,
  filename: 'E:\\2.study\\backbone\\app\\a.js',
  loaded: false,
  children: [],
  paths:
   [ 'E:\\2.study\\backbone\\app\\node_modules',
     'E:\\2.study\\backbone\\node_modules',
     'E:\\2.study\\node_modules',
     'E:\\node_modules' ] }

由此可见,module拥有id、exports、parent等相关属性

module对象属性解释

module使用方法

详解

上一篇 下一篇

猜你喜欢

热点阅读