用的webpack&vue-cli开发的项目,怎么判断开发环境用上面的,生产环境用下面的。开发和生产是什么东西,有什么不同呢?
//开发环境
const URL = {
BASE:'http://192.168.31.78:9999/rs-bus/websocket'
}
//生产环境
const URL = {
BASE:'http://192.168.1.22:9999/rs-bus/websocket'
}
module.exports = URL
用的webpack&vue-cli开发的项目,怎么判断开发环境用上面的,生产环境用下面的。开发和生产是什么东西,有什么不同呢?
//开发环境
const URL = {
BASE:'http://192.168.31.78:9999/rs-bus/websocket'
}
//生产环境
const URL = {
BASE:'http://192.168.1.22:9999/rs-bus/websocket'
}
module.exports = URL
在main.js中
import Vue from 'vue'
你可以打印Vue.config看一下,其中有一个devtools,可以根据这个判断
Vue.config.devtools等于true时就是开发环境,等于false就是你打包后放在生产环境中了。
可以看一下vue源代码生成环境和开发环境的判断
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
前端里面开发环境和生产环境的判断,可以放在编译过程去生效对应的代码,也可以放在运行过程根据路由的情形来判断。实际上,我们采用了后者,根据页面的路径就可以看出是开发环境还是生产环境。
例如,我们写了一个 env.js 文件,判断 hostname,
上述的 env 作为项目根目录的模块,然后 xhr factory, 工具便可以引入这个环境,并作为判断条件。
如果是放在编译过程去做,那么可以利用环境变量,利用 webpack 的诸如 DefinePlugin 插件来写判断条件,例如
REACT_APP_NODE_ENV
或者直接NODE_ENV
(将process.env.NODE_ENV
译成直白的值)。并且在打包的时候加入环境变量了,例如CI很容易做到这一点。