脚手架自建的时候,只有一个线上环境,一个开发环境,有时候我们需要多个打包环境,比如一个线上正式版环境,一个内部测试环境,此时使用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"
完整代码如下
"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"
},
上面代码有一个开发环境,一个sit测试环境,一个prod环境
第三步,在config/prod.env.js里面,把代码修改如下
module.exports = {
NODE_ENV: '"production"',
ENV_CONFIG: '"prod"',
BASE_API: '"这里填写你的接口的基础url"',//线上环境
}