解决 require 无法使用变量 动态引入

235 阅读1分钟

require 支持 字符串,但不支持变量

console.log(require('D:\\Code\\i18n_tools\\src\\testFlie\\en.js')) // 正常
const path = 'D:\\Code\\i18n_tools\\src\\testFlie\\en.js'
console.log(require(path)) // 报错

最终解决方案

console.log(eval("require('" + files.path.replaceAll('\\','\\\\') + "')"))

合理的需求下,不应该引入外部 模块,更不应该引入 这种 绝对路径下的模块文件。 而是采用 文件上传 或者使用 fs模块的方式,读取文件。 为了取巧而使用 require。

也许 require 不是最优的 外部模块导入解决方案,欢迎评论区讨论。