我创建了一种插件式网站。每个插件都遵循一定的名称标准和合同。在我的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文件夹。
有什么方法可以做到这一点吗?或者也许在我研究如何做到这一点时我错过了另一种选择?
此致