给webpack入口属性一个对象,该对象具有字符串数组作为值是什么意思?

时间:2018-09-04 16:10:06

标签: webpack

The Webpack documentation允许将具有字符串数组的对象的值传递给Webpack配置的entry属性。

例如

Usage: entry: {[entryChunkName: string]: string|Array<string>}

但是,文档没有讨论这实际上意味着什么。这相当于多个入口点吗?这会导致任何不同的行为吗?

以下是在项目serverless/aws-nodejs-typescript中使用它的示例。

1 个答案:

答案 0 :(得分:0)

可以通过3种方式定义入口点:

1)

entry: {
 main: './src/index.js',
 dashboard: './dashboard/dashboard.js'
}

这将为对象中的每个单个属性创建一个文件。

2)

entry: './src/index.js'

通常的配置,差别不大。

3)

entry: ['@babel/polyfill', 'src/index.js', 'otherfile', 'other something']

定义为对象和定义为数组之间的唯一区别在于,当一个对象Webpack创建多个“主”捆绑文件时,它也是一种代码拆分策略。

当定义为数组时,webpack会在所有这些文件中查找依赖项,并将它们放入相同的“入口”文件中,基本上将其归类为1个单个文件。

您链接的项目正在发生的事情是1 + 3的组合,我们可以说它是“ 4”。这样会为每个条目创建一个对象,并且该对象上的每个条目都由其他不同库的数组组成。