封装一个获取module.exports内容的方法

let fs = require('fs')

let req = (moduleName) => {
    //content代表的是文件内容
    let content = fs.readFileSync(moduleName, 'utf8')
    console.log(content + '\n return module.exports')
    //最后一个参数是函数的内容体
    let fn = new Function('exports','module','require','__dirname','__filename',content + '\n return module.exports')
    let module = {
        exports:{}
    }
    return fn(module.exports,module,req,__dirname,__dirname)
}

let msg = req('./a.js')

console.log(msg.msg)

  

posted on 2018-12-16 18:22  huyanluanyu1989  阅读(795)  评论(0编辑  收藏  举报