roadhog如何支持除development和production外的其他环境变量配置

roadhog的build和start脚本分别对应了env/development和production,但实践中存在第三种开发环境(可能是预发或集成测试),配置和前两种也都不一样,但现在似乎没办法支持这种情况。

在前端开发中,很多是需要将测试环境和线上不同的。比如像facebook分享账号链接,一个测试链接,一个线上链接(第三方要求);还有线上是cdn,本地和测试环境却不是,所有要在脚手架里区别处理。

最近新入职一家公司,他们的本地和测试环境是本地资源,而线上是cdn,这样每次上线需要再将测试后的稳定版本的publicPath路劲改成cdn地址,很烦

然后我就添加了其他变量来做区分

"scripts": {
   "start": "set NODE_ENV_YUANBAO=development&roadhog dev",
   "build-production": "set NODE_ENV_YUANBAO=production & roadhog build",
   "build-test": "set NODE_ENV_YUANBAO=test & roadhog build"
},

然后在用到区分的地方拿这个变量来区分就可以了

import pxtorem from 'postcss-pxtorem';
export default {
  entry: "src/index.js",
  disableCSSModules: false,
  ignoreMomentLocale: true,
  publicPath: process.env.NODE_ENV_YUANBAO === 'production'?"//statics.ybejia.com/weixin/":'/',
  browserslist: [
    "iOS >= 8", "Android >=4"
  ],
  commons: [
    {
      async: true,
      children: true,
      minChunks: 3,
.....
.....
......

猜你喜欢

转载自www.cnblogs.com/zhangzhaowei/p/9639359.html
今日推荐