面试题答案
一键面试在 webpack.config.js
中,可以如下配置实现多入口打包:
const path = require('path');
module.exports = {
entry: {
page1: './src/page1.js',
page2: './src/page2.js'
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].[chunkhash].js',
chunkFilename: '[name].[chunkhash].chunk.js'
},
// 其他配置项...
};
在上述配置中:
- entry:通过对象形式定义了两个入口文件
page1
和page2
,对应各自的源文件路径。 - output:
path
指定输出目录为项目根目录下的dist
文件夹。filename
使用[name]
占位符,它会被替换为入口的名称(即page1
或page2
),[chunkhash]
则是根据文件内容生成的哈希值,用于缓存控制。这样输出的文件名会是page1.[chunkhash].js
和page2.[chunkhash].js
。chunkFilename
用于非入口chunk(如异步加载的模块)的命名,同样使用[name]
和[chunkhash]
占位符。