vue配置多环境方案

5 篇文章 0 订阅

//1、根目录下新建文件:.env.development(开发环境)、.env.test(测试环境)、.env.production文件(生产环境)

.env.development(开发环境)配置内容
NODE_ENV = 'development'  //模式
VUE_APP_MODE = 'development'  //通过"VUE_APP_MODE"变量来区分环境
VUE_APP_BASE_URL = '/api' //api地址

.env.test(测试环境)配置内容
NODE_ENV = 'test'
VUE_APP_MODE = 'test'
VUE_APP_BASE_URL = 'http://xxx.xxx.xxx.xx:8008/'
//打包输出目录
outputDir = dist-test

.env.production文件(生产环境)配置内容
NODE_ENV = 'production'
VUE_APP_MODE = 'production'
VUE_APP_BASE_URL = 'http://xxx.xxx.xxx.xx:8008/'
outputDir = dist-production

//2.修改vue.config.js
console.log(process.env.VUE_APP_BASE_URL)//打印环境
module.exports = {
    // 基本路径,相对路径
    publicPath: "./",
    // 输出文件目录
    outputDir: process.env.outputDir,
    productionSourceMap:process.env.NODE_ENV==='production'?false:true,//生产环境下设置source map为false加速构建
    devServer:{
      proxy:{
         '/api':{
           target:'xxxx',//开发环境下代理接口
           changeOrigin:true,//开启跨域
           ws:false,//websocket不支持
           pathRewrite:{
               '^/api':''        //置空  
           }
         }
      }
    }
}

//3.配置package.json     (执行对应的npm run xxx)
"scripts"{
    //打包开发环境
    "serve":"vue-cli-service build --mode development",
    //打包生产环境    
    "build":"vue-cli-service build --mode production",
    //打包测试环境
    "test": "vue-cli-service build --mode test", 
    "lint":"vue-cli-service lint"
}
  ----------------------------------------- 
   // 4.判断并使用不用的开发环境配置
if(process.env.VUE_APP_MODE==='development'){
    //开发环境下的执行操作
}else if(process.env.VUE_APP_MODE==='test'){
    //测试环境下的执行操作
}else{
    //生产环境下的执行操作
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题,我可以给你提供一些实用的方案。 在 Vue 项目中,通常会有多个环境,如开发环境、测试环境和生产环境等。为了方便管理和部署,我们可以通过配置多个环境来实现不同环境下的不同配置。 以下是一些实用的方案: 1. 使用环境变量 在 Vue 项目中,可以通过设置环境变量来实现不同环境下的不同配置。可以通过在 package.json 文件中设置 scripts 来指定不同的环境变量,例如: ``` "scripts": { "dev": "NODE_ENV=development vue-cli-service serve", "test": "NODE_ENV=testing vue-cli-service serve", "build": "NODE_ENV=production vue-cli-service build" }, ``` 然后在代码中使用 process.env.NODE_ENV 来获取当前环境变量,根据不同的环境变量来加载不同的配置文件。 2. 使用 .env 文件 可以在项目根目录下创建不同环境的 .env 文件,例如 .env.development、.env.testing 和 .env.production。在这些文件中可以设置不同的环境变量,例如: ``` # .env.development NODE_ENV=development VUE_APP_API_URL=http://localhost:8080/api # .env.testing NODE_ENV=testing VUE_APP_API_URL=http://test.example.com/api # .env.production NODE_ENV=production VUE_APP_API_URL=http://example.com/api ``` 在代码中使用 process.env.VUE_APP_API_URL 来获取当前环境的 API 地址,根据不同的环境变量来加载不同的配置文件。 3. 使用 .env 文件和 webpack 可以通过 webpack 的 DefinePlugin 插件来设置环境变量,例如: ``` // vue.config.js module.exports = { configureWebpack: { plugins: [ new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify(process.env.NODE_ENV), VUE_APP_API_URL: JSON.stringify(process.env.VUE_APP_API_URL) } }) ] } } ``` 然后在 .env 文件中设置不同的环境变量,例如: ``` # .env.development NODE_ENV=development VUE_APP_API_URL=http://localhost:8080/api # .env.testing NODE_ENV=testing VUE_APP_API_URL=http://test.example.com/api # .env.production NODE_ENV=production VUE_APP_API_URL=http://example.com/api ``` 在代码中使用 process.env.VUE_APP_API_URL 来获取当前环境的 API 地址,根据不同的环境变量来加载不同的配置文件。 以上是三种常用的方案,你可以根据自己的需求选择适合的方案。希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值