模块化
示例代码:
let name = 'Daivd';
let getName = function(name){
console.log(name);
};
// 1. 通过Module.export导出
module.exports = {
name: name,
getName: getName
};
// 2. 通过export直接导出
//export obj = {...};
let p = require('./demo');
console.log(p.name);
p.getName('Jim');
p.name = 'Kitty';
console.log(module);
// Module {
// id: '.',
// path: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS',
// exports: {},
// parent: null,
// filename: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\01.js',
// loaded: false,
// children: [
// Module {
// id: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\demo.js',
// path: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS',
// exports: [Object],
// parent: [Circular],
// filename: 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\demo.js',
// loaded: true,
// children: [],
// paths: [Array]
// }
// ],
// paths: [
// 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\nodeJS\\node_modules',
// 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node\\node_modules',
// 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\课程\\node_modules',
// 'C:\\Users\\dzwang\\Desktop\\My JS\\网易云\\node_modules',
// 'C:\\Users\\dzwang\\Desktop\\My JS\\node_modules',
// 'C:\\Users\\dzwang\\Desktop\\node_modules',
// 'C:\\Users\\dzwang\\node_modules',
// 'C:\\Users\\node_modules',
// 'C:\\node_modules'
// ]
// }
module.exports = {
name: 'Daivd',
getName: function(name){
console.log(name);
}
};
console.log(module);
exports和module.exports区别示例:
var module = {
exports: {}
};
var exports = module.exports;
function change(exports) {
exports.name = 'David';
exports = {
age: 22
};
console.log(exports);
}
change(exports);
console.log(exports);
require方法详解
路径解析: