节点模块的require.context不适用于链接包

时间:2016-11-17 09:07:33

标签: node.js webpack require node-modules

我创建了一种插件式网站。每个插件都遵循一定的名称标准和合同。在我的main.js中,我按照名称标准“动态”加载所有包:

const context = require.context("../../node_modules", true, /plugin\-\w+\/dist\/(index\.js|styles\.css)$/)

这需要整个node_modules文件夹中的上下文,并加载名为“plugin-X”的所有模块。在这些模块中,它查找“dist / index.js”和“dist / styles.css”。后来导入的那些:

context.keys().forEach(path => {/* do stuff */ })

只要使用npm install path / to / tgz安装软件包,这就非常好用。然而,这并没有给人愉快的发展经验。所以在我的plugin-X文件夹中我使用“npm link”,在我的网站上我使用“npm link plugin-X”。

当我启动webpack时,整个事情在创建15K文件句柄后爆炸。如果我删除“plugin-X”中的node_modules文件夹,它可以工作。但是我需要node_modules来构建babel和其他东西,以识别src文件夹中的更改以重建并将新脚本放入dist文件夹。

有什么方法可以做到这一点吗?或者也许在我研究如何做到这一点时我错过了另一种选择?

此致

0 个答案:

没有答案