Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 减少了很多require()函数_Javascript_Browserify_Commonjs - Fatal编程技术网

Javascript 减少了很多require()函数

Javascript 减少了很多require()函数,javascript,browserify,commonjs,Javascript,Browserify,Commonjs,我有很多CommonJS模块,我需要将它们全部添加到数组中。因此,我有一个巨大的重复代码: //Container module var module1 = require('module1'), module2 = require('module2'), ... module25 = require('module25') var container = []; container.push(module1); container.push(module2); ... co

我有很多
CommonJS
模块,我需要将它们全部添加到数组中。因此,我有一个巨大的重复代码:

//Container module
var module1 = require('module1'),
    module2 = require('module2'),
 ...
    module25 = require('module25')

var container = [];
container.push(module1);
container.push(module2);
...
container.push(module25);

module.exports = container;

是否可以减少此代码?我不想让它们全球化。我看到的唯一解决方案是在每个模块内注入
容器
,但我不想让我的模块知道
容器
如果我正确理解您的问题,您希望导出一个模块数组并访问该数组,即
需要
,其他地方。如果这是正确的,您可以这样做:

// requires-file
module.exports = [
    require('module1'),
    require('module2'),
    // ...
];
或者更具功能性的编程方法,这对我更有吸引力,但人们更喜欢不同的风格:

module.exports = ['module1', 'module2', /*...*/].map(function(m) {return require(m);});
在需要文件的地方,您可以使用:

// other-file
var container = require('/requires-file');

谢谢,但这并不能解决我的问题。无论如何,我必须在
requires文件中写入
require
25次。是的,您不能更改它,但它仍然少于25行requires和25行
。按
。或者您可以在node_模块上使用
fs.readdir
,并将每个已安装的模块添加到阵列中,但是添加太多模块和导入顺序会出现问题。你能解释一下你需要25个模块并且每个文件中都需要它们的用例是什么吗?