本人也是菜鳥中的菜鳥板祝,本文只是提供一種思路(可能是錯誤的亥宿,但目前看來可行)
依賴后端的數(shù)據(jù)進行測試是不行滴躲惰,前端的東西自己解決~~
首先了解下幾個概念乡洼。
一.webpack-dev-server
webpack-dev-server為你提供了一個簡單的 web 服務器拇舀,并且能夠實時重新加載(live reloading)逻族。這個東西在我們的webpack-config.js中進行配置,
以上配置告知webpack-dev-server骄崩,在localhost:8080下建立服務聘鳞,將dist目錄下的文件,作為可訪問文件要拂。
當然還有更多配置選項抠璃,有興趣自己去找相關資料吧。
二.express
其實我對他的了解也不深脱惰。反正它在我們項目中的角色是:配置Http請求搏嗡。
下面是一些基礎知識
注:本文目的是 本著夠用能用原則僅讓你理解express的用途用法,能看懂一些基本配置拉一。
文章必有疏漏采盒,詳情請看express官網(wǎng)。
Express 是一個自身功能極簡蔚润,完全是由路由和中間件構成一個的 web 開發(fā)框架:從本質上來說磅氨,一個 Express 應用就是在調用各種中間件
那么什么是中間件呢?
中間件(Middleware)是一個函數(shù)嫡纠,它可以訪問請求對象([request
object]( (`req`)), 響應對象([response object] (`res`)), 和 web
應用中處于請求-響應循環(huán)流程中的中間件悍赢,一般被命名為 `next` 的變量
所以任何函數(shù)都可以是中間件决瞳,或者說 中間件的功能是訪問請求對象、相應對象...能提供這些功能的就符合中間件的概念左权。
那么具體的形式是怎么樣的呢?
中間件綁定到 app 對象使用 `app.use()` 和 `app.METHOD()`痴颊, 其中赏迟, `METHOD` 是需要處理的 HTTP 請求的方法,例如 GET, PUT, POST 等等蠢棱,全部小寫锌杀。例如:
var app = express();
// 沒有掛載路徑的中間件,應用的每個請求都會執(zhí)行該中間件
app.use(function (req, res, next) {
? console.log('Time:', Date.now());
? next();
});
// 掛載至 /user/:id 的中間件泻仙,任何指向 /user/:id 的請求都會執(zhí)行它
app.use('/user/:id', function (req, res, next) {
? console.log('Request Type:', req.method);
? next();
});
// 路由和句柄函數(shù)(中間件系統(tǒng))糕再,處理指向 /user/:id 的 GET 請求
app.get('/user/:id', function (req, res, next) {
? res.send('USER');
});
這個app對象,如果是express()的實例玉转,那么這個掛載的中間件稱為應用級中間件突想,如果是
var router=express.Router();
那么這個就稱為路由級中間件了。
不過這幾級究抓,我查了一下猾担,似乎除了路由級優(yōu)先應用級執(zhí)行,其他好像也沒什么區(qū)別~
好了刺下,基本概念先講這么多绑嘹。
具體在我們的vue項目中這樣應用:
在web.pack.conf.js中,加入這段
var express = require('express');
var app = express();
var appData = require('./goods.json') /* 引入goods.json數(shù)據(jù)文件 */
var goods = appData.goods /* goods.json文件文件下的.goods數(shù)據(jù)賦值給變量goods */
var apiRoutes = express.Router() /* 定義express.Router() 對象 */
apiRoutes.get('/goods', function(req, res){ /* 定義接口并返回數(shù)據(jù) */ res.json({ data: goods }) }) app.use('/api', apiRoutes) /* 定義接口在/api目錄下橘茉,方便管理 */
然后繼續(xù)配置我們的webpack.dev
devServer: {
before(app) {
?? app.get('/api/goods', (req, res) => {
res.json({
code: 0,
data: goods })
}) }
}
利用定義好的路徑(我們這里是localhost:8080/api/goods),就可以訪問到我們的api了
開頭就說了工腋,這只是一種思路,也可以啟動一個server來提供數(shù)據(jù)測試服務畅卓,不過這就涉及其他問題了擅腰。
這里我有點疑惑的是,為什么vue-cli運行起來的項目主頁在localhost:8080/#/這里髓介,為什么多個/#/我哪里配置錯了嗎惕鼓?求解╮(╯_╰)╭