原文地址:http://blog.csdn.net/fungleo/article/details/54574049#comments
前言
我們在開發(fā)項(xiàng)目的時(shí)候,往往會在同一個(gè)局域網(wǎng)進(jìn)行開發(fā),前后端分離同時(shí)進(jìn)行開發(fā)。我們前端調(diào)用后端給的接口也是在局域網(wǎng)內(nèi)部的。但是,當(dāng)項(xiàng)目推到線上的時(shí)候,我們會從真實(shí)服務(wù)器上獲取接口,因此,我們可能在測試接口和真實(shí)接口之間頻繁切換,讓人十分惡心。
因此,我們有必要想辦法解決這個(gè)問題。
第一步,分別設(shè)置不同的接口地址
首先,我們分別找到下面的文件:
/config/dev.env.js
/config/prod.env.js
其實(shí),這兩個(gè)文件就是針對生產(chǎn)環(huán)境和發(fā)布環(huán)境設(shè)置不同參數(shù)的文件。我們打開dev.en.js文件。代碼如下:
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})
好,我們在NODE_ENV下面增加一項(xiàng),代碼如下:
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
API_ROOT: '"http://192.168.1.8/api"'
})
然后,我們編輯prod.env.js文件,
module.exports = {
NODE_ENV: '"production"',
API_ROOT: '"http://www.baidu.com/api"'
}
好。我們分別設(shè)定的路徑已經(jīng)有了。下面就是如何調(diào)用的問題了。
第二部,在代碼中調(diào)用設(shè)置好的參數(shù)
以我們之前的演示代碼為例。你自己的項(xiàng)目請根據(jù)你自己的情況調(diào)整。以下文件和代碼僅供參考。
我們打開src/config/api.js文件,將原來開頭的代碼
// 配置API接口地址
var root = 'https://cnodejs.org/api/v1'
然后就完成了我們的配置工作。最后,重啟項(xiàng)目,就能使新配置的接口地址生效了。
在經(jīng)過這樣的配置之后,我們在運(yùn)行
npm run dev
的時(shí)候,跑的就是測試接口。而我們運(yùn)行
npm run build
打包項(xiàng)目的時(shí)候,打包的是服務(wù)器正式接口,我們就不用調(diào)來調(diào)去得了。