在學習完vueJS,一直想作個項目來鍛鍊一下,選來選去,仍是作個網易雲音樂,其間遇到了不少坑,也逐漸接受了vue這種組件化的思想以及從Dom操做轉換爲用數據去驅動視圖。而且在某部分基礎組件上借鑑(搬運)了elementUI的源碼(不過elementUI寫的是真好)vue
npm istall
npm run dev
// 在163Api文件路徑下啓動
node app.js
複製代碼
import axios from 'axios';
axios.defaults.baseURL = `http://localhost:3000`
export const api = new Proxy({}, {
get(target, prop){
let method = /^[a-z]+/g.exec(prop)[0];
let path = prop
.substring(method.length)
.replace(/([A-Z])/g, '/$1')
.replace(/(\$)([a-z]+)/g, '?$2=')
.toLowerCase();
return function(data = "", options = {}, and=false){
let url = `${path}${data}`;
if(and){
for(let [key, value] of Object.entries(options)){
url += `&${key}=${value}`;
}
}
return axios({ method, url })
}
}
})
複製代碼
源代碼,但願你們指出我代碼的不足之處,多交流,也歡迎你們來follow和starnode