【发布时间】:2018-10-27 21:14:24
【问题描述】:
我正在开发一个 monorepo 中的 CLI 包,该包有一个名为 buildX 的命令:
遍历多个目录,尝试require 一个模块,该模块存在于这些目录的某些文件中。
所以基本上我会尝试做类似的事情:
buildX --source ./somewhere --target ./somewhere/else
它应该在某个地方对这些模块进行一些操作并将其保存在目标中。
问题是: 如果我有:
* - somewhere
* | - index.js
*
*somewhere else
Index.js:
import { coolFunction } from 'cool-library';
export default coolFunction({some: object, generated: dynamically })
在执行require('./somewhere/index.js')时,出现异常:找不到指定路径下的模块。这是因为执行__dirname时,出现的路径是bin所在的路径,而不是执行的路径。
如何以动态方式要求 index.js?我试过SystemJS,也用eval,也用dynamic-import-support。
我只是希望能够执行 index.js 导出默认值。
完全欢迎任何建议或解决方案!提前致谢
【问题讨论】:
标签: javascript node.js requirejs node-modules commonjs