Vue.js中怎么判断是开发环境还是发布环境?

怎么判断是开发环境还是发布环境?

我有一个config.js文件,在里面我想配置为大概这样:

var api_root = undefined;
if (DEV_ENV) {  // 开发环境
  api_root = "localhost:8000"
}else {  // 生产环境
  api_root = "103.22.43.12:8000"
}

请问这个DEV_ENV在vue.js项目中是有的吗?

阅读 27.2k
4 个回答

api_root = process.env.NODE_ENV == 'development' ? 'localhost:8000' : '103.22.43.12:8000';

正常写接口地址的时候是不需要写域名和路径的。比如https://www.xxx.com/api/getsth,可以写成/api/getsth,浏览器会自动拼接前面的域名。如果开发环境要请求其他服务器的接口时,可以使用代码,将地址代理代理过去。如果使用webpack的话,是可以通过cross-env这个包,来设置环境变量的

process.env.NODE_ENV
如果你的项目是用 vue 的脚手架生成的,它就会有,因为脚手架项目内部集成了 webpack,加入了 webpack 的插件 “DefinePlugin”,帮你区分好了本地和上线打包,所以直接这样取就可以取到,如果是自己搭的项目,那就需要自己使用这个插件设置一下(打包使用的是webpack的话,如果是rollup什么的也可以自己去搜对应的设置方式)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题