vue项目配置环境变量

配置环境变量

在vue项目中,通过环境变量的配置,通过不同的命令运行不同的运行环境,产出不同的包文件

  • 使用NODE_ENV区分本地运行(development),还是打包部署(production)
  • 使用VUE_APP_ENV区分本地环境、测试环境、生产环境不同的配置,如果本地运行时的代理地址

运行命令

local代表本地、dev代表开发环境、pro代表生产环境
npm run serve dev // 本地运行测试环境
npm run serve pro // 本地运行生产环境
npm run build pro // 依据生产环境进行打包

vue.config.js配置信息

const envConfig = {
  local: {
    target: 'http://127.0.0.1:8080',
  },
  dev: {
    target: 'http://127.0.0.1:9090',
  },
  pro: {
    target: 'http://www.xxx.com',
  }
}
const currentEnv = envConfig[process.env.VUE_APP_ENV] || envConfig.pro
module.exports = {
  devServer: {
    proxy: {
      "/api": {
        target: currentEnv.target, // 本地运行代理地址
        changeOrigin: true,
        ws: true,
        pathRewrite: {
          "^/api": "/api",
        },
      },
    },
  },
};

package.json中配置命令

{
  "scripts": {
    "serve": "node ./development.ts",
    "build": "node ./production.ts"
  },
}

配置打包命令production.ts

const spawn = require("cross-spawn");
const writeFile = require("fs").writeFile;
const data = process.argv[2];
writeFile(".env", `VUE_APP_ENV=${data}`, err => {
  if (err) throw err;
  spawn("vue-cli-service", ["build", "--mode", "production"], {
    stdio: "inherit"
  });
});

配置本地运行环境development.ts

const spawn = require("cross-spawn");
const writeFile = require("fs").writeFile;
const data = process.argv[2];
writeFile(".env", `VUE_APP_ENV=${data}`, err => {
  if (err) throw err;
  spawn("vue-cli-service", ["serve", "--mode", "development"], {
    stdio: "inherit"
  });
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值