默认情况下,Vue 项目的开发模式与发布模式,共用同一个打包的入口文件(即src/main.js
)。为了将项目的开发过程与发布过程分离,我们可以为两种模式,各自指定打包的入口文件,即:
- 开发模式的入口文件为
src/main-dev.js
- 发布模式的入口文件为
src/main-prod.js
在vue.config.js
导出的配置对象中,新增configureWebpack
或chainWebpack
节点,来自定义 webpack 的打包配置。
在这里,configureWebpack
和chainWebpack
的作用相同,唯一的区别就是它们修改 webpack 配置的方式不同:
chainWebpack
通过链式编程的形式,来修改默认的 webpack 配置configureWebpack
通过操作对象的形式,来修改默认的 webpack 配置
通过chainWebpack
自定义打包入口
在 Vue 项目根目录下的vue.config.js
添加chainWebpack
节点,如:
module.exports = {
chainWebpack: config => {
// 发布模式
config.when(process.env.NODE_ENV === 'production', config => {
config.entry('app').clear().add('./src/main-prod.js')
});
// 开发模式
config.when(process.env.NODE_ENV === 'development', config => {
config.entry('app').clear().add('./src/main-dev.js')
});
}
}