记录entry与output的各种用法:
- 数组:
entry: string | [string]
entry: ['./src/index.js', './src/entry2.js'],
output: {
filename: 'main.js', //打包名
path: path.resolve(__dirname, 'dist'), //打包位置
}
这种情况能够正常打包。
entry: ['./src/index.js', './src/entry2.js'],
output: {
filename: '[name].js', //打包名
path: path.resolve(__dirname, 'dist'), //打包位置
}
这也能正常打包且,都打包在main.js里面
- 对象
entry: { <entryChunkName> string | [string] } | {}
- 也就是说它可以是一个空对象,对象:里面入口名对应的值是字符串,或串数组。演示:
entry: {
"entry1": './src/index.js',
"entry2": './src/entry2.js'
}, //打包入口
output: {
filename: '[name].js', //打包名
path: path.resolve(__dirname, 'dist'), //打包位置
}
这里不能打包到一个文件里面
注意多入口也要对应output 进行处理。
- 但这样是可以的
entry: {
main: ['./src/index.js', './src/entry2.js']
},
output: {
filename: 'main.js', //打包名
path: path.resolve(__dirname, 'dist'), //打包位置
}
下面报错:
entry: {
main: ['./src/index.js', './src/entry2.js'],
entry3: './src/entry2.js'
},
output: {
filename: 'main.js', //打包名
path: path.resolve(__dirname, 'dist'), //打包位置
}
总结:一个键值对要对应一个出口。多键值对可以用于多页面构建。
output 没啥好说的 一对象,多入口用[name]
还有一点每次打包前清空/dist
clean: true
但是他会清空你自建文件夹。
其他遇到再补上。