對於選用json-server來作模擬數據,樓主就是以爲很快,學習成本比較低,能夠模擬簡單的sql語句,進行簡單的增刪查的一些操做,(ps)同時在咱們前端進度比較快的時候,你不必定要所有的模擬真實接口返回的數據狀況,這樣很是耗時間,並且在咱們項目中有時候會碰到,需求不明確的狀況,你能夠模擬一些,主要的操做,先解決主要,再看時間盈餘解決次要,有人說怎麼不使用mock,這個看我的喜愛,css
安裝json-server npm i --save json-serverhtml
而後在項目的根目錄下建立db.js文件,用於模擬json數據 前端
編寫json格式的數據vue
{
"login":[
{
"username": "why",
"password": 123456
}
],
"table":[
{
"date": "why",
"name": 123456,
"address": "上海市虹口區"
}
]
}
複製代碼
// json-server
const jsonServer = require('json-server')
/*搭建一個server*/
const apiJsonServer = jsonServer.create()
/*將db.json關聯到server*/
const apiRouter = jsonServer.router('db.json')
const jsonWares = jsonServer.defaults()
//全局使用
apiJsonServer.use(jsonWares)
apiJsonServer.use(apiRouter)
/*監聽端口*/
apiJsonServer.listen(8888, () => {
console.log('JSON Server is running')
console.log('localhost:8888')
})
複製代碼
vue-cli 2.0中node
vue-cli 3.0中要新建vue.config.js文件,在項目的更目錄中 ##使用postman來測試接口數據 到官網下載:www.getpostman.com/apps,選擇合適你電…webpack
啓動json-server,若是拉的是樓主的代碼,直接npm run dev 你的項目和你的json-server 都會同時啓動ios
或者,進入建立json所在的路徑, 使用命令:json-server json文件名 (安裝時要-g,在全局下安裝)git
啓動成功以後,用postman測試數據,輸入你定義的localhost:端口號/定義的json數組的名字github
http://localhost:8888/db 訪問的是db.json文件下的全部內容;web
http://localhost:8888/table/id 獲取指定id的數據
使用post方法新增數據
使用put更新指定id對象的數據
使用delete刪除指定id的數據
分頁查詢 參數爲 _start, _end, _limit,並可添加其它參數篩選條件 如:1到5條和只查詢三條數據
排序 參數爲_sort, _order
>使用axios :npm i --save axios
>引入axios
```js
import axios from 'axios'
// 把axios對象綁定到Vue原型中全局使用
複製代碼
Vue.prototype.axios = axios ```
// 添加請求攔截器,攔截器的做用:
// 在攔截器中能夠獲取到axios的配置,在config中修改東西
axios.interceptors.request.use(function (config) {
// 在發送請求以前作些什麼
// console.log('哈哈,我攔截到了請求', config)
// 只須要給config配置baseURL 以及 headers
config.baseURL = 'http://localhost:8888/'
// 給每一個http header都加上token,
config.headers.Authorization = localStorage.getItem('myToken')
return config
}, function (error) {
// 對請求錯誤作些什麼
return Promise.reject(error)
})
// 配置axios的經過配置
// axios.defaults.baseURL = 'http://localhost:8888/'
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('myToken')
複製代碼
>在系列一中,有詳細的代碼註釋,在導航鉤子中配置,
>主要會涉及到,每次發送請求帶上token,和給token設置過時時間
複製代碼
七、兼容性處理
在咱們後臺管理系統中要慎用h5c3的屬性,和方法,以避免出現很麻煩的兼容性問題
vue爲啥會有兼容性問題,尤大大說的已經很明白了,在這裏就不介紹了,啦啦啦
安裝 babel-polyfill (cnpm install babel-polyfill --save-dev) 在入口文件中引入 import "babel-polyfill" 或者 require("babel-polyfill") webpack.base.conf.js中配置
entry: {
app: ["babel-polyfill","./src/main.js"],
}
複製代碼
也就是使用cdn的資源,以js的文件加入到html頁面:例如:
<script src="https://cdn.bootcss.com/babel-polyfill/6.23.0/polyfill.min.js"></script>
複製代碼