【发布时间】:2017-06-18 11:06:31
【问题描述】:
我为 webpack 配置了两个根:
resolve: {
root: [ path.resolve('./src/siteName'), path.resolve('./src/common') ]
},
当我需要一个名称为 require('moduleName') 的模块时,模块解析工作得很好。它在siteName 文件夹中查找,如果在其中找不到模块,它在common 文件夹中查找。
当我尝试动态地要求模块 require('Pages/' + pageModuleName) 时,webpack 会将 siteName/Pages 中的所有文件添加到包中,但它会忽略 common/Pages 文件夹中的文件。
我查看了require.context,但它并没有真正解决我的问题,因为它最终包含了两个文件夹中的所有文件。
var req = require.context('../', true, /\/(siteName|common)\/Pages/);
var page = req(pageModuleName);
总而言之,给定如下文件结构:
common/Pages/PageA.js
common/Pages/PageB.js
siteName/Pages/PageA.js
当我做类似的事情时
require('Pages/' + pageModuleName);
webpack 是否可以配置为添加just
siteName/Pages/PageA.js
common/Pages/PageB.js
到捆绑包并“忽略”
common/Pages/PageA.js
【问题讨论】:
标签: javascript webpack