Vue configura diferentes entornos para empaquetado y publicación.

Configurar el entorno de prueba y el entorno de demostración

1. Cree el archivo test.env.js y el archivo prod.env.js en la configuración

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

2. Modificar config/index.js

commerUrl.js, configure diferentes direcciones 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

Configurar servidor de código

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. Modificar 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. Modificar 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. Modificar paquete.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",

 

Supongo que te gusta

Origin blog.csdn.net/sou_vyp/article/details/83056150
Recomendado
Clasificación