const nativeModule = require('module')const path = require('path')const fs = require('fs')function createRequire (filename) {// Fallback to process.cwd() if no filename passedif (!filename) {filename = process.cwd()}// If filename is dir, createRequire goes with parent directory, so we need fakepathif (isDir(filename)) {filename = path.join(filename, 'index.js')}// Added in Node v12.2.0if (nativeModule.createRequire) {return nativeModule.createRequire(filename)}// Added in Node v10.12.0 and deprecated since Node v12.2.0if (nativeModule.createRequireFromPath) {return nativeModule.createRequireFromPath(filename)}// Polyfillreturn _createRequire(filename)}// Polyfillfunction _createRequire (filename) {const mod = new nativeModule.Module(filename, null)mod.filename = filenamemod.paths = nativeModule.Module._nodeModulePaths(path.dirname(filename))mod._compile('module.exports = require;', filename)return mod.exports}function isDir (path) {try {const stat = fs.lstatSync(path)return stat.isDirectory()} catch (e) {// lstatSync throws an error if path doesn't existreturn false}}module.exports = createRequire
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。