Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 构建时网页包中的动态需求_Webpack - Fatal编程技术网

Webpack 构建时网页包中的动态需求

Webpack 构建时网页包中的动态需求,webpack,Webpack,考虑到有网页配置 ... entry: { 'bundle-with-dependency-a': 'common-entry.js', 'bundle-with-dependency-b': 'common-entry.js' }, resolve: { alias: { 'dep-a': ..., 'dep-b': ... }, }, 我希望在common entry.js中有这样的内容: require('dep-' + e

考虑到有网页配置

...
entry: {
    'bundle-with-dependency-a': 'common-entry.js',
    'bundle-with-dependency-b': 'common-entry.js'
},
resolve: {
    alias: {
        'dep-a': ...,
        'dep-b': ...
    },
},
我希望在
common entry.js
中有这样的内容:

require('dep-' + entryName.slice(-1));
也就是说,我想从配置中提供特定需求的定义

问题是可能有两个以上的依赖选项,我避免复制粘贴。我将在构建时做这件事,而不是用JSONP来要求块

如何使这一点成为动态的

我在这里唯一的选择是为每个dep进行不同的配置,但这需要进行多个Webpack传递,而不是单个。不太方便。

使用:

webpack.config.js

{
条目:{
'bundle-with-dependency-a':'imports?depName=>dep-a!./common entry.js',
'bundle-with-dependency-b':'imports?depName=>“dep-b”!./common entry.js',
},
// ...
}

depName
变量随后将暴露于
common entry.js
模块。

看起来不错,我甚至不确定是否知道可以在条目中使用加载器。我想知道除了“导入”之外,是否还有其他方法,可以有几个具有相同('a'或'b')前缀的DEP,这将使加载器查询字符串相当长。然后我建议您考虑制作自己的加载器,或者创建一个为您生成查询字符串的函数。例如:
imports({depName:'dep-a'})+'./common entry.js'
Yes,构造查询就足够了。我想知道是否还有其他的迂回之路,例如
context
和ContextReplacementPlugin(关于它们的潜在用途的网页文档少得可笑)。