在《Vue.js权威指南》刚出版的时候,本身就做为一名前端粉捧了一把场,但是真是应了那句“出来混,老是要还的“这句话了,那时候信心满满的买来书想要认真研究,最终却仍是把它搁浅了。直到最近工做上要使用它来作一个后台管理系统,才不得不逼迫本身再次从新拿起书,看起文档,努力研究这个异常流行的Vue.js。css
简单页面呈现以下 (图片貌似有点模糊,主要也就是实现简单的增删改查):前端
1.使用到的技术:vue
vue2.0:https://cn.vuejs.org/v2/guide/node
element-ui:http://element.eleme.io/#/zh-CNwebpack
vue-router2:http://router.vuejs.org/zh-cn/ios
Axios:https://www.axios.com/web
(在Vue1.0中咱们知道和服务端通讯发送请求获取数据依赖的是vue-resource,但自Vue更新到2.0以后做者就宣告再也不对vue-resource更新,而是改为了推荐的Axios这一HTTP库。做用上相似咱们熟知的一些Ajax库,可是Axios是基于Promise的HTTP请求客户端,可同时在浏览器和Node.js中使用,这好像更符合目前前端的技术新趋势。或者能够看这里:https://mp.weixin.qq.com/s?__biz=MzI0ODcxNDAxNQ==&mid=2247483763&idx=1&sn=2bd49b2a673800fc7726394a3791d973&chksm=e99dc703deea4e153b6442e5f248fd5aad604235b2eda57fdad8ee1e772b81f25a80f216fedb&mpshare=1&scene=23&srcid=0414mg5pg6lSZcGBzn77MVkD#rd)ajax
mock.js:http://mockjs.com/vue-router
(生成随机数字,拦截ajax请求。)vuex
2.具体实现过程:
1)新建项目:
在这里,使用的编辑器为Visual Studio Code(vue.js的殷大神推荐的),虽然也是初次使用,不过这几天感受也挺不错,推荐你们使用;直接能够在终端输入命令行,相似于在cmd中同样:
//全局安装 vue-cli npm install vue-cli -g#
//建立一个基于webpack模板的新项目
vue init webpack my-project
//安装依赖,快速启动 my-project为项目名称,可自定义 cd my-project
npm install
npm run dev
至此,在浏览器:http://localhost:8080/#/即可看见建好的项目。
2)安装所须要的依赖包:
//ui组件npm install element-ui
//拦截器npm install npm install mockjs
//模拟请求npm install npm install axiosnpm install --save axios-mock-adapternpm install sass-loadernpm install node-sassPS:
这里根据项目中的提示,安装了好多个依赖包,若是有兴趣,能够一一研究,这里就很少作解释了。
3)安装完毕以后执行:npm run build,看项目是否报错,而后修改一下相应的文件:(完整代码:请戳这里)
main.js:
import Vue from 'vue' import App from './App' //引入element-ui组件 import ElementUI from 'element-ui' import 'element-ui/lib/theme-default/index.css' import VueRouter from 'vue-router' import routes from './router/index' import Mock from './mock' Mock.bootstrap(); Vue.use(ElementUI); Vue.use(VueRouter); const router = new VueRouter({ mode: 'history', routes }) // 实例化vue new Vue({ router, // store,//vuex 提供的 render: h => h(App) }).$mount('#app') //手动地挂载一个未挂载的实例(#app)
router/index.js:
/** * desc: 路由配置 */ import table from '../views/nav1/table.vue' let routes = [ { path: '/', component: table, name: '', iconCls: 'fa fa-id-card-o', leaf: true,//只有一个节点 children: [ { path: '/page1', component: table, name: '导航111' } ] }, //若均为匹配,则提示404 { path: '*', hidden: true, redirect: { path: '404' } } ]; export default routes;
在src中新建一个api/api.js,专门存放模拟的数据接口:
/** * author: xxx * create: 2017-04-26 * update: 2017-04-26 by xxx * desc:连接后台接口的js文件( * 在Vue1.0中咱们知道和服务端通讯发送请求获取数据依赖的是vue-resource, * 但自Vue更新到2.0以后做者就宣告再也不对vue-resource更新, * 而是改为了推荐的Axios这一HTTP库。做用上相似咱们熟知的一些Ajax库, * 可是Axios是基于Promise的HTTP请求客户端,可同时在浏览器和Node.js中使用, * 这好像更符合目前前端的技术新趋势 * ) */ import axios from 'axios'; //基础路径 let base = ''; export const getUserListPage = params => { return axios.get(`${base}/user/listpage`, { params: params }); }; export const removeUser = params => { return axios.get(`${base}/user/remove`, { params: params }); }; export const batchRemoveUser = params => { return axios.get(`${base}/user/batchremove`, { params: params }); }; export const editUser = params => { return axios.get(`${base}/user/edit`, { params: params }); }; export const addUser = params => { return axios.get(`${base}/user/add`, { params: params }); };
一切配置完毕后,就能够见到心仪的页面了。
这两天算是扎根研究vue.js吧,不只更加了解了其使用方法,并且还认识了不少新的知识:好比拦截ajax的axios,还有mock.js,虽然都是略知一二,可是那种成就感依旧清晰在心。还有很是感谢这两天以来本身所在的vue的各类群,真的是大神无处不在,并且还很热心。3ky啦~~~无心之中,还发现CZ大神说“努力作一名全栈开发者”,个人天,如此优秀的人都在努力,那我从此得更加努力了,fighting for technology!