官方文档参考:模式和环境变量 | Vue CLI
在Vue中创建生产和开发环境配置,通常是通过环境变量和Webpack的模式来区分。
1.在项目根目录下创建.env
文件,用于通用配置。
# .env
VUE_APP_API_URL=https://api.example.com
2.创建一个.env.development
文件,用于开发环境配置。
# .env.development
NODE_ENV=development
VUE_APP_DEBUG=true
3.创建一个.env.production
文件,用于生产环境配置。
# .env.production
NODE_ENV=production
VUE_APP_DEBUG=false
4.在vue.config.js
中配置不同环境下的Webpack行为。
const isProduction = process.env.NODE_ENV === 'production';
module.exports = {
// 基础配置...
configureWebpack: {
// 生产环境的配置
production: {
plugins: [
// 生产环境的插件...
],
optimization: {
// 生产环境的优化配置...
}
},
// 开发环境的配置
development: {
plugins: [
// 开发环境的插件...
],
devtool: 'eval-source-map',
// 其他开发环境配置...
},
// 共享的配置...
}
};
5.在代码中使用环境变量。
// 使用环境变量
const apiUrl = process.env.VUE_APP_API_URL;
// 根据不同环境进行不同操作
if (process.env.VUE_APP_DEBUG) {
console.log('Debug mode is on');
}
6.确保在运行项目时指定正确的模式,例如使用npm run serve
默认是开发环境,使用npm run build
默认是生产环境。如果需要在不同环境下运行,可以使用cross-env
来设置环境变量
// package.json
{
"scripts": {
"serve": "cross-env NODE_ENV=development vue-cli-service serve",
"build": "cross-env NODE_ENV=production vue-cli-service build"
}
}