在Webpack CLI中指定条目数组

时间:2017-02-25 17:48:16

标签: webpack

在配置中,我们指定一个条目数组,如下所示:

entry: [
  'polyfills',
  './src/index.js'
]

我想知道是否可以通过CLI指定:

$ webpack [opts] <entry_array?> <output>

要明确的是,我指的是带有模块数组而不是多个条目的单个条目(我理解这是可能的)。

2 个答案:

答案 0 :(得分:1)

您可以简单地将所有入口点作为参数传递,它们将被视为单个块,就像在配置中使用数组一样。在您的情况下,以下内容会创建bundle.js,其中包含polyfills./src/index.js

webpack polyfills ./src/index.js bundle.js

为了清除有关多个块的任何混淆,CLI接受<name>=<entry>形式的参数,就像在配置中使用对象一样。因此,以下内容将生成具有相应入口点的polyfills.bundle.jsapp.bundle.js

webpack polyfills=polyfills app=./src/index.js [name].bundle.js

注意:如果输出是一个文件,webpack会抱怨存在冲突。

有关详细信息,请查看CLI without config file的官方文档。

答案 1 :(得分:0)

@Michael,我遇到了同样的问题,将多个条目组合到一个输出文件中时遇到了错误。我在webpack-cli中仅用于锻炼。

使用第二种方法,我得到了

npx webpack index=./src/index.js app=./src/index2.js [name].bundle.js
zsh: no matches found: [name].bundle.js 

选项1,是

npx webpack ./src/index.js ./src/index2.js dist/bundle.js
Hash: fe5cb8d967e4e39a16b8
Version: webpack 4.32.0
Time: 105ms
Built at: 2019-05-22 11:01:35
 1 asset
Entrypoint main = main.js
[0] multi ./src/index.js ./src/index2.js dist/bundle.js 52 bytes {0} [built]
[1] ./src/index.js 27 bytes {0} [built]
[2] ./src/index2.js 27 bytes {0} [built]

...

ERROR in multi ./src/index.js ./src/index2.js dist/bundle.js
Module not found: Error: Can't resolve 'dist/bundle.js' in '/Users/.../Code/webpack-pitfalls'
 @ multi ./src/index.js ./src/index2.js dist/bundle.js main[2]