vue配置 开发 测试 生产环境

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" },

3:再修改 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需要再套一层引号

至此就可以再src的文件里用到process.env.env_config变量了

遇到的问题,配置了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又做了什么配置

最后就是配合自己的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

};

参考:

vue正式环境与测试环境压包配置方法(vue-cli 2.0) 主要参考这个

关于package.json中的scripts命令运行说明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容