Vue配置不同的环境打包发布

配置测试环境及演示环境

1. 在config下创建test.env.js文件及prod.env.js文件

'use strict'
module.exports = {
    NODE_ENV: '"production"',
    ENV_CONFIG:'"test"'
}
module.exports = {
    NODE_ENV: '"production"',
    ENV_CONFIG:'"prod"'
};

2. 修改config/index.js

commerUrl.js, 配置不同的ip地址

let _config = process.env.config  // ENV_CONFIG
let urlPath = {}

if (_config == 'test') {
  urlPath = {URL: '', PORT: ''}
} else if (_config == 'prod') {
  urlPath = {URL: '', PORT: ''}
}

module.exports = urlPath

配置代码服务器

proxyTable: {
          '/jwt': {
            target: `${commerUrl.URL}:${commerUrl.PORT}`,
          changeOrigin: true,
            pathRewrite: {
              '^/jwt': '/jwt'
            },
          },
       '/api':{
          changeOrigin: true,
            target: `${commerUrl.URL}:${commerUrl.PORT}`,
            pathRewrite: {
              '^/api': '/api'
            },
        },
        '/publishTest': {
          changeOrigin: true,
          target: `${commerUrl.URL}:${commerUrl.PORT}`,
          pathRewrite: {
            '^/api': '/api'
          },
        },
        '/publishProd': {
          changeOrigin: true,
          target: `${commerUrl.URL}:${commerUrl.PORT}`,
          pathRewrite: {
            '^/api': '/api'
          },
        }

3. 修改build/build.js

var webpackConfig = require('./webpack.prod.conf');

//var spinner = ora('building for ' + process.env.NODE_ENV + '...')
var spinner = ora('building for ' + process.env.NODE_ENV + ' of ' + process.env.config + ' mode...') 
spinner.start()

4. 修改build/webpack.prod.conf.js

//var env = process.env.NODE_ENV === 'production' ? config.build.prodEnv : config.build.sitEnv

const env = config.build[process.env.config + 'Env']

let proxyTableName = ''

if (process.env.config == 'prod') { // 演示环境
  proxyTableName = 'publishProd'
} else if (process.env.config == 'test') {  // 测试环境
  proxyTableName = 'publishTest'
}
new webpack.DefinePlugin({
      'process.env': env,
      'BASE_URL': `${proxyTableName}`
    }),

5. 修改packege.json

"build:test": "cross-env NODE_ENV=production env-config=test npm_config_report=true node build/build.js",
"build:prod": "cross-env NODE_ENV=production env-config=prod npm_config_report=true node build/build.js",

猜你喜欢

转载自blog.csdn.net/sou_vyp/article/details/83056150
今日推荐