在学习完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