我们在编写一个vue.js的时候往往会有正式服务器和测试服务器。
比如正式服http://api.marsdict.com
测试服则为http://apitest.marsdict.com
我们查看vue cli生成的webpack
配置文件可以发现/build/webpack.dev.conf.js
和/build/webpack.prod.conf.js
两个文件中都通过
new webpack.DefinePlugin({
'process.env': env
}),
向我们的js传递了一个process.env
变量,那么我们就可以使用它了。
例如我是在main.js
这么实现区分的:
Vue.use(
Ajax,
(function() {
return {
baseURL:
process.env === "production"
? "http://api.marsdict.com"
: "http://apitest.marsdict.com"
};
})()
);
有关DefinePlugin可以阅读文档:http://webpack.github.io/docs...
阅读过其他人一些项目,有用window.location.href.indexOf('正式服域名') >= 0
先来判断运行的环境再决定api的url,感觉不是很合理。
应该是正式服打包一份,测试服打包一份,而不是在运行时在判断api url是哪个。记录一下。
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。