Javascript 节点和网页包,使用require指令初始化插件类

Javascript 节点和网页包,使用require指令初始化插件类,javascript,node.js,symfony,webpack,webpack-encore,Javascript,Node.js,Symfony,Webpack,Webpack Encore,我与Symfony和webpack合作。通过javascript脚本,我想管理一个插件系统: 插件是包含类并位于特定目录“plugins”中的文件。在主javascript脚本中,我想“加载”所有可用的插件(=初始化所有插件类) 我尝试了简单的代码: //在“plugins”目录中,我有3个插件文件: //“a.js” //“b.js” //和“c.js” //每个插件的内容都是相同的: 出口a类{ 构造函数(参数1){ // ... } } 在main.js脚本中: /。。。 //plugi

我与Symfony和webpack合作。通过javascript脚本,我想管理一个插件系统:

插件是包含类并位于特定目录“plugins”中的文件。在主javascript脚本中,我想“加载”所有可用的插件(=初始化所有插件类)

我尝试了简单的代码:

//在“plugins”目录中,我有3个插件文件:
//“a.js”
//“b.js”
//和“c.js”
//每个插件的内容都是相同的:
出口a类{
构造函数(参数1){
// ...
}
}
在main.js脚本中:

/。。。
//plugins是我要加载的字符串数组(我不想加载目录“plugins”中的所有模块)
//每个字符串都是插件的文件名(例如:a.js、c.js)
main=这个;
main.instancesOfPlugin=[];
forEach(函数(值、索引){
试一试{
main.instancesOfPlugin[index]=new(require('./plugins/'+value))('paramfoo1');
}捕获(e){
如果(e.code!==“未找到模块”){
投掷e;
}
}
});
// ...
但是我的浏览器出现了一个错误,我不明白为什么

(HTMLListener引用主脚本,第30行对应于行
main.instanceOfPlugin[index]=new(require('./plugins/'+value))('paramfoo1');


我尝试了几件事,但还是坚持了下来。。谢谢你的帮助

我在几次尝试后找到的解决方案:

//模块文件
module.exports=class{
建造师(a){
控制台日志(a);
}
}
//和来自主脚本
// ...
//插件=['a.js','c.js']
forEach(函数(值、索引){
试一试{
plugins[index]=new(require('./plugins/'+value))('paramfoo1');
}捕获(e){
如果(e.code!==“未找到模块”){
投掷e;
}
}
});
// ...