• vue-cli 2.x项目使用cross-env新建多个打包环境


    脚手架自建的时候,只有一个线上环境,一个开发环境,有时候我们需要多个打包环境,比如一个线上正式版环境,一个内部测试环境,此时使用cross-env可以解决这个问题

    第一步,安装cross-env

    npm install cross-env --save
    

    第二步,在package.json里面的"script": {},把build修改如下

    "dev": "cross-env BABEL_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js",
    "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
    
    

    上面代码有一个开发环境,一个sit测试环境,一个prod环境
    完整代码如下

      "scripts": {
        "dev": "cross-env BABEL_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
        "start": "npm run dev",
        "unit": "jest --config test/unit/jest.conf.js --coverage",
        "e2e": "node test/e2e/runner.js",
        "test": "npm run unit && npm run e2e",
        "build:sit": "cross-env NODE_ENV=production env_config=sit node build/build.js",
        "build:prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"
      },
    

    第三步,在config/prod.env.js里面,把代码修改如下

    module.exports = {
      NODE_ENV: '"production"',
      ENV_CONFIG: '"prod"',
      BASE_API: '"这里填写你的接口的基础url"',//线上环境
    }
    

    第四步,在config文件夹里面新建一个js文件,命名为 sit.env.js(config/sit.env.js),里面配置代码如下

    module.exports = {
      NODE_ENV: '"production"',
      ENV_CONFIG: '"sit"',
      BASE_API: '"这里是测试环境的基础url"',//测试环境
    }
    

    第五步,在build/webpack.prod.conf.js里面,把下面代码

    const env = process.env.NODE_ENV === 'testing'
      ? require('../config/test.env')
      : require('../config/prod.env')
    

    修改替换成

    const env = require("../config/" + process.env.env_config + ".env")
    

    第六步,在build/build.js里面,修改部分代码,具体如下

    把代码const spinner = ora('building for production...')替换成 const spinner = ora("building for " + process.env.env_config)

    到这里,我们就新建了一个测试环境,一个线上环境。打包命令就分别如下

    测试环境:npm run build:sit,线上环境:npm run build:prod

  • 相关阅读:
    Codeforces Round #475 (Div. 1) B. Destruction of a Tree
    HDU
    HihoCoder
    浅谈spfa几个优化
    Codeforces Round #474 E. Alternating Tree
    Wannafly 挑战赛12 D
    2017 Multi-University Training Contest
    2017 Multi-University Training Contest
    斜率优化DP基础XVI Open Cup named after E.V. Pankratiev. GP of Ukraine.K
    斜率优化DP入门_HDU3507_Print Article
  • 原文地址:https://www.cnblogs.com/lxk0301/p/11683606.html
Copyright © 2020-2023  润新知