【问题标题】:require.context() equivalent in BrowserifyBrowserify 中的 require.context() 等效项
【发布时间】:2017-03-29 22:59:21
【问题描述】:

在使用 Webpack 的项目中,我们可以使用require.context() 将几个.js 文件导出到一个模块中。所以在modules 目录中,有几个模块:

modules
-counter.js
-index.js
-mod2.js
somefile.js

counter.jsmod2.js 是模块。 index.jsrequire.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 等效于这样做?

【问题讨论】:

    标签: javascript webpack browserify


    【解决方案1】:

    我有同样的问题,最终使用了 require-bulk npm 模块,然后使用bulkify 来实现 Webpack 的 require.context 所需的效果。 在你的 index.js 文件中,它会是这样的:

    const bulk = require('bulk-require')
    bulk(__dirname, ['./**/!(*.index).js'])
    

    这将包括目录中的所有文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-17
      • 2013-12-16
      • 2018-06-25
      • 2015-07-09
      • 2017-10-24
      • 2014-07-04
      • 2010-09-20
      相关资源
      最近更新 更多