在使用 Webpack 的项目中,我们可以使用 require.context()
导出一些.js
文件合并到一个模块中。所以在 modules
目录,有几个模块:
modules
-counter.js
-index.js
-mod2.js
somefile.js
counter.js
和 mod2.js
是模块。 index.js
有require.context()
:const files = require.context('.', false, /\.js$/)
const modules = {}
files.keys().forEach((key) => {
if (key === './index.js') return
modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default
})
export default modules
所以在
modules
之外的单独文件中文件夹,somefile.js
, 我可以做这个:import modules from './modules';
new Something({
modules
});
但是
require.context()
仅在 Webpack 中。由于 Browserify 可与 Webpack 相媲美,是否有 Browserify 等效于这样做?
最佳答案
我有同样的问题,最后使用了 require-bulk npm 模块,然后 bulkify以达到 Webpack 的 require.context 所期望的效果。
在您的 index.js 文件中,它将类似于:
const bulk = require('bulk-require')
bulk(__dirname, ['./**/!(*.index).js'])
这将包括目录中的所有文件
关于javascript - Browserify 中的 require.context() 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40620383/