入门vue的一些知识点总览,如Babel,css预处理器,ES6,Eslint,vuex,vue router,mock,Elementui,v-charts,axios等
目录
因为最近项目需要,领导让我负责。。去用vue搭建一个前端项目出来。(心里活动:纳尼(ÒωÓױ)! 这是部门里第一个用vue搭建的前端项目啊!------》算了,好像vue挺好玩的 去试试)
接触的知识点特别多(一时整理不过来,现在趁着五一好好整理!(^-^)V ) 对我这个前端萌新来说是很有挑战的。。(虽然之前负责的项目模块里也有前端的页面需要我去做。。但是不是纯前端的呀 ┭┮﹏┭┮ ) 毕竟我是个后端开发工程师呀!
同时感受下了这个需求文档和UI设计师改设计出来的最终版有所出入所带来的暴击 。。。
学习历程
在搭建项目之前 我先去vue官网了解了一下vue的简单使用,如vue的模板语法 在一个普通的HTML页面中引入并使用它(这会还觉得确实容易上手。。),接着就去百度看看vue相关的项目用到了那些技术(vue全家桶:vue-cli + vue2.0 + vuex + vue-router + axios + element-ui )一下子觉得信息量爆炸。。(X_X) 后面在同事的推荐下去看了这个 vue-element-admin 开源项目,被虐得体无完肤, 又简单了解到ESlint,Webpack,Babel,less,Mock,ES6语法,Commit规范和 vscode 的各种强力插件如Vetur等, 幸运的是经过一周多的学习对这些东西也比较熟悉了,,然后发现vue3.0Beata版出来了,,(oT-T)尸
下面进入正题!
在了解了vue的基础使用后,我决定尝试着用vue cli搭建一个项目出来。
Vue Cli
官方文档参考:https://cli.vuejs.org/zh/guide/
介绍
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统
特点:
- 通过 @vue/cli 搭建交互式的项目脚手架。
- 一个丰富的官方插件集合,集成了前端生态中最好的工具。
安装
npm install -g @vue/cli
# Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。
# OR
yarn global add @vue/cli
使用
vue create vue-test
选择manual的话会出现下图,需要你手动去添加需要的功能
下面将逐一简单说下图中的插件
Babel
官方文档参考:https://www.babeljs.cn/docs/
介绍
Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中
// Babel 输入: ES2015 箭头函数
[1, 2, 3].map((n) => n + 1);
// Babel 输出: ES5 语法实现的同等功能
[1, 2, 3].map(function(n) {
return n + 1;
});
Babel是Vue-Cli脚手架中的默认选项,使用了之后就会在项目目录中生成一个babel.config.js 的默认文件,可以帮我们预设插件(vue-element-admin项目中该文件也是默认生成的,于是我也没有改动这个文件)
Typescript
菜鸟教程 Typescript文档
介绍
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。
TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript 可以运行在任何浏览器上。
博主在项目中并没有使用到这个Typescript,但是有在vue中使用到ES6的一些语法,这里推荐下 阮一峰大神 的 ES6入门教程
PWA (Progressive Web App)
Mozilla 开发者社区(MDN) PWA文档
介绍
PWA(Progressive web apps,渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序。这些应用无处不在、功能丰富,使其具有与原生应用相同的用户体验优势。
个人理解这应该是类似小程序,快应用等不用安装到手机上就可以使用的程序
Vue Router
官方文档 https://router.vuejs.org/zh/
简单来说它是个前端路由,控制页面的跳转
这部分的知识点在了解了vue的组件之后会更好理解
Vuex
官方文档 https://vuex.vuejs.org/zh/
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
应用场景
- 多个视图组件,包括父子组件,兄弟组件之间的状态共享
- 不同视图组件的行为需要变更同一个状态
CSS Pre-processors
可以选择Sass,Scss,Less,Stylus这四种css预处理器,博主使用的博客主题里用到的是stylus,所以对这个stylus是比较熟悉的,项目中也是使用它。
Linter / Formatter
选择后会在文件夹中生成 .eslintrc.js 代码规范文件。
可以参考 饿了么团队Eslint
Unit Testing 单元测试
Jest 是facebook推出的一款测试框架,还没实践。。
E2E Testing 端对端测试
Nightwatch 一个自动化测试方案,还没实践。。
其他工具的使用axios ,element-ui ,v-charts ,Webpack ,Mock和EasyMock等
-
axios 中文文档
axios对vue框架进行整合 vue-axios
它是一个非常好用的http客户端!Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
promise是异步编程的一种解决方案,是ES6语法中的一员.
-
element-ui 官方文档
和layui这些前端框架一样,可以提高开发效率!网站快速成型工具
Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 -
配合vue使用的图表组件 v-charts
在使用 echarts 生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts 的出现正是为了解决这个痛点。基于 Vue2.0 和 echarts 封装的 v-charts 图表组件,只需要统一提供一种对前后端都友好的数据格式设置简单的配置项,便可轻松生成常见的图表。
-
Webpack
官方文档webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
其中 __dirname 是Node.js中的全局变量,表示当前文件所在的目录。
Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换,所以在使用stylus时也会装相应的loader,在vue中使用这个svg图片也需要相应的配置,这些配置需要在vue.config.js中配置(这个文件需要手动创建),跨域的问题也要在这里进行配置。 -
mock
官方文档生成随机数据,拦截 Ajax 请求
正如官网所说的,它是一个模拟数据生成器,拦截ajax请求意味着你在浏览器的调试窗口是看不到它发出去的请求,所以这个对我们模拟跨域问题不大友好,不过现在又有了更方便的 EasyMock
EasyMock文档 https://easy-mock.com/docs
github地址: https://github.com/easy-mock/easy-mock
(注意版本!)
学习过程中这个API和文档密不可分,如Vue.js文档 和API 可以先大概浏览下,有问题的时候可以针对性地查查api ,找找解决办法
以上就是博主最近了解到的一些知识点,希望对你有所帮助。
看书应该是最系统,最快的学习方法了。
书籍推荐
Vue.js权威指南
vue2实践揭秘