实现读取文件、导入、执行
```
const fs = require('fs');
const vm = require('vm');
const wrapper = [
'(function(exports){',
'})'
];
function myRequire(filePath) {
let fileStr = fs.readFileSync(filePath);
let content = wrapper[0] + fileStr + wrapper[1];
// let fn = vm.runInThisContext(content);
// 这两种都可以
let fn = eval(content);
let exports = {};
fn.call(null, exports);
return exports;
}
let p = myRequire('./test.js');
// ./test.js
// exports.say = function(){
// console.log('say')
// }
p.say();
```
直接上代码,省略了各种其它判断:缓存、查找路径等。