a.js
module.exports = '我的第一个webpack'
b.js
let fs = require('fs')
//common.js规范实现(node中)
let a = req('./a.js')
function req(moduleName){
let content = fs.readFileSync(moduleName, 'utf-8')
//下面是创建一个字符串函数
let fn = new Function('exports','module', 'require', '__dirname', '__filename',
content + '\n return module.exports'
);
//构造一个module对象,用于给module.exports赋值
let module = {
exports:''
}
//这里传入req是由于req的文件里面可能require其他文件
return fn(module.exports,module,req,__dirname,__filename)
}
/*
* fn函数注释
*/
// function fn(exports,module, require, __dirname, __filename){
// //let content = fs.readFileSync(moduleName, 'utf-8')执行结果是字符串
// module.exports = '我的第一个webpack'
// return module.exports
// }
console.log(a)