美文网首页
vue配置开发、测试、生产环境,package scripts

vue配置开发、测试、生产环境,package scripts

作者: YellowPoint | 来源:发表于2019-03-20 17:45 被阅读0次
  1. 先 npm install --save-dev cross-env
  2. 再修改package 的scripts
 "scripts": {
    "dev": "cross-env env_config=dev webpack-dev-server --inline --progress --config build/webpack.dev.conf.js ",
    "build": "cross-env env_config=prod node build/build.js",
    "build-test": "cross-env env_config=test node build/build.js"
  },

  1. 再修改 config/dev.env.js和config/prod.env.js
config/dev.env.js
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  env_config:JSON.stringify(process.env.env_config)
})


config/prod.env.js
'use strict'
module.exports = {
  NODE_ENV: '"production"',
  env_config:JSON.stringify(process.env.env_config)
}

注意process.env.env_config需要再套一层引号

  1. 至此就可以再src的文件里用到process.env.env_config变量了
  2. 遇到的问题,配置了package 的scripts后process.env.env_config,以为可以和process.env.NODE_ENV一样那里都能用,但是只能在webpack.base.conf.js等文件用检测到,在src的文件里用不到,一定是webpack做了什么设置,后查到config/dev.env.js和config/prod.env.js的设置,就把env_config加了进去。

process(进程)其实就是存在nodejs中的一个全局变量。
https://segmentfault.com/a/1190000011683741

我的理解应该是只有在node环境构建的时候才有效,process.env.NODE_ENV一定是webpack又做了什么配置

  1. 最后就是配合自己的config.js做请求前缀的区分
/**
 * 配置本地开发、线上测试、线上生产的接口前缀
 * 
 * **/
//开发接口前缀

//若使用代理 修改ip需要到 config/index.js修改
//通过proxyTable来跨域请求本地接口
// const devHost = '/apiProxy_local'
const devHost = '/apiProxy_online'
//const devHost = "//192.168.119.120:9142";


//测试接口前缀
const testHost = "//192.168.119.120:9142";
//生产接口前缀
const proHost = "//resume.51app.cn/resumeapi";
let host;
//通过process.env.env_config 来区分 开发dev、测试test、生成prod环境
switch(process.env.env_config) {
    case 'dev':
        host = devHost
        break;
    case 'test':
        host = testHost
        break;
    case 'prod':
        host = proHost
        break;
    default:
        host = proHost
        break;
}

export {
    host
};

参考:

  1. vue正式环境与测试环境压包配置方法(vue-cli 2.0) 主要参考这个
  2. 关于package.json中的scripts命令运行说明
  3. npm scripts 使用指南
  4. npm scripts : 每个前端开发都应知道的一些使用提示

相关文章

网友评论

      本文标题:vue配置开发、测试、生产环境,package scripts

      本文链接:https://www.haomeiwen.com/subject/wyptvqtx.html