在使用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?
答案 0 :(得分:0)
我有同样的问题,最终使用require-bulk npm模块,然后使用bulkify来实现Webpack的require.context所期望的效果。 在您的index.js文件中,它将类似于:
const bulk = require('bulk-require')
bulk(__dirname, ['./**/!(*.index).js'])
这将包括目录中的所有文件