美文网首页让前端飞Web前端之路
roadhog配置环境变量自动区分测试、正式环境(cross-e

roadhog配置环境变量自动区分测试、正式环境(cross-e

作者: 虚拟J | 来源:发表于2020-08-03 18:25 被阅读0次

前端工程化中的自动化角度(任何简单机械的重复劳动都应该让机械去完成)思考,发现了目前应用存在的缺陷——测试、正式环境都是手动去切换的,这样子万一忘记了,就很容易出现问题。

console.log(process.env.NODE_ENV)

打印可以看到 roadhog 针对特定环境的环境变量。开发环境下是 development,生产环境下是 production。

但这不能满足我们想要区分测试、正式环境,需增加环境变量。

添加环境变量

在.webpackrc.js中的define里添加:

  define: { //定义环境变量中的值
    "process.env": {
      API_ENV: process.env.API_ENV,
    }
设置环境变量的值(针对 Windows)

接下来启动本地服务或者打包的时候,设置对应的环境变量。

 "scripts": {
    "start": "set API_ENV=t &&roadhog server",
    "startP": "set API_ENV=p &&roadhog server",
    "buildT": "set API_ENV=t &&roadhog build",
    "buildP": "set API_ENV=p &&roadhog build",
  },

然后就可以通过 process.env.API_ENV 去获取到环境变量的值,然后切换到对应的测试、正式环境了。

设置环境变量的值(跨平台——cross-env)
npm上的文档 git上的文档

可以看到,如果 roadhog 的文档是在 npm()上查看,而不是在 git ()上查看的话,会少一块内容——跨平台设置环境变量的方法。

cross-env 是运行跨平台设置和使用环境变量的脚本。
可以使用单个命令,而不必担心为平台正确设置或使用环境变量。

  "scripts": {
    "start": "cross-env API_ENV=t roadhog server",
    "startP": "cross-env API_ENV=p roadhog server",
    "buildT": "cross-env API_ENV=t roadhog build",
    "buildP": "cross-env API_ENV=p roadhog build",
  },

相关文章

网友评论

    本文标题:roadhog配置环境变量自动区分测试、正式环境(cross-e

    本文链接:https://www.haomeiwen.com/subject/uskrrktx.html