做單頁面應用,因為公司項目有3中環境:測試,預發及線上,故接口地址host各不相同,為了達到自動化部署,不可能每次迭代發布不同環境時就手動去更改接口host。當然,如果你的vue項目與接口api在同一域名下就不需要考慮這么多了,直接搞個相對的接口api地址就可以了(如 ‘/service/login’)。那我們來考慮一下前后台域名不同的情況:
1.萬能的nginx
接口統一接口開頭部分,如(‘/sevice/login’,'/sevice/getSMS'等),然后我們再nginx中統一做重定向,同時也可以解決跨域問題。
2.接口api調試使用jsonp或設置cors,vue項目打包之前設置NODE_ENV,3中環境設置:devlopment,pre,production
設置NODE_ENV的值后,我們需要再配置文件里加上判斷,根據不同的環境取出不同的host,簡單舉例:
配置完成后,我們可以在js中直接拿到process.env和process.api的值,然后就可以隨意做自己想做的事情了
注: 這只是個人實現方法,方法千千萬總有一款適合你。