javascript - 减少很多require()函数

标签 javascript browserify commonjs

我有很多 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;

是否可以减少这段代码?我不想让它们全局化。我只看到唯一的解决方案,它在每个模块中注入(inject)container,但我不希望我的模块知道container

最佳答案

如果我正确理解您的问题,您希望导出一个模块数组并在其他地方访问该数组,即 require。如果这是正确的,您可以执行以下操作:

// 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');

关于javascript - 减少很多require()函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30828733/

相关文章:

javascript - 使用 browserify 要求扩展的正确方法

node.js - 如何在 browserify 中使用非 commonjs 库?

javascript - hbsfy 在编译时输出 hbsfy 代码 - 使用 Gulp + Browserify

javascript - Webpack 动态要求抛出错误

javascript - 如何在 Angular/Javascript 中对街道地址进行排序

javascript - Netlify 正在显示我的 Gatsby 网站的 html 版本

javascript - 为动态加载的html添加一个类

javascript - 有人能给我解释一下这个用 JS/jQuery 创建网格的函数吗?

node.js - 评估实时进程

typescript - 如何让 TypeScript 生成 CommonJS 有效模块?