前端开辟之走进Vue.js

Vue.js作为现在最热点最具远景的前端框架之一,其供应了一种协助我们疾速构建并开辟前端项目的新的头脑情势。本文旨在协助人人熟悉Vue.js,相识Vue.js的开辟流程,并进一步明白怎样经由过程Vue.js来构建一个中大型的前端项目,同时做好相应的布置与优化事情

Vue.js简介
《前端开辟之走进Vue.js》

从上图的引见中我们不难发明Vue.js是一款轻量级的以数据驱动的前端JS框架,其和jQuery最大的差别点在于jQuery经由过程操纵DOM来转变页面的显现,而Vue经由过程操纵数据来完成页面的更新与展现。下面就是Vue数据驱动的概念模型:

《前端开辟之走进Vue.js》

Vue.js重要担任的是上图绿色正方体ViewModel的部份,其在View层(即DOM层)与Model层(即JS逻辑层)之间经由过程ViewModel绑定了DOM Listeners与Data Bingings两个相当于监听器的东西。

当View层的视图发作转变时,Vue会经由过程DOM Listeners来监听并转变Model层的数据。相反,当Model层的数据发作转变时,其也会经由过程Data Bingings来监听并转变View层的展现。如许便完成了一个双向数据绑定的功用,也是Vue.js数据驱动的道理地点。
《前端开辟之走进Vue.js》

在一个html文件中,我们直接可以经由过程script标签引入Vue.js,然后就可以在页面里写Vue.js代码了。上图中我们经由过程new Vue()构建了一个Vue的实例,在实例中,可以包括挂在元素(el),数据(data),模板(template),要领(methods)与生命周期钩子(created等)等选项。差别的实例选项具有差别的功用,如:

(1)el表明我们的Vue须要操纵哪个元素下的地区,’#demo’示意操纵id为demo的元素下地区。
(2)data示意Vue 实例的数据对象,data 的属性可以相应数据的变化。
(3)created示意实例生命周期中建立完成的那一步,当实例已建立完成今后将挪用其要领。

Vue.js手艺栈

《前端开辟之走进Vue.js》

以上我们讲到可以直接在一个html页面里经由过程引入Vue.js来直接写Vue代码,然则如许的体式格局并不经常运用。由于假如我们的项目比较大,项目中会存在许多页面,一旦每一个页面都引入一个Vue.js或许声明一个Vue实例,如许异常不利于后期的保护和代码的公用,也会存在实例名争执的状况,所以我们须要用到Vue供应的手艺栈来构建壮大的前端项目。

除了Vue.js我们还须要用到:

(1)vue-cli:Vue的脚手架东西,用于自动天生Vue项目的目次及文件。
(2)vue-router: Vue供应的前端路由东西,运用其我们完成页面的路由掌握,部分革新及按需加载,构建单页运用,完成前后端星散。
(3)vuex:Vue供应的状况治理东西,用于统一治理我们项目中种种数据的交互和重用,存储我们须要用到数据对象。
(4)ES6:Javascript的新版本,ECMAScript6的简称。运用ES6我们可以简化我们的JS代码,同时运用其供应的壮大功用来疾速完成JS逻辑。
(5)NPM:node.js的包治理东西,用于统一治理我们前端项目中须要用到的包、插件、东西、敕令等,便于开辟和保护。
(6)webpack:一款壮大的文件打包东西,可以将我们的前端项目文件统一打包紧缩至js中,而且可以经由过程vue-loader等加载器完成语法转化与加载。
(7)Babel:一款将ES6代码转化为阅读器兼容的ES5代码的插件

运用以上等手艺,我们便可以最先构建我们的Vue项目了。

构建大型运用
《前端开辟之走进Vue.js》

在构建我们的中大型Vue项目中,我们重要引见怎样运用vue-cli来自动天生我们项目的前端目次及文件,相识Vue中一切皆组件的概念及父子组件的通讯题目,解说在Vue项目中我们怎样运用第三方插件,末了运用webpack来打包及布置我们的项目。

vue-cli构建

《前端开辟之走进Vue.js》

在运用vue-cli之前我们须要装置node.js,运用其供应的npm敕令来装置vue-cli。装置node.js只需去其官网下载软件并装置即可,地点为:https://nodejs.org/en/

装置完成今后我们翻开电脑的cmd敕令行东西顺次输入上图中的敕令:

(1)npm install -g vue-cli:全局装置vue-cli
(2)vue init webpack my-project: 运用vue-cli在目次地点天生一个基于webpack的名为’my-project‘的Vue项目文件及目次
(3)cd my-project:翻开方才建立的文件夹
(4)npm intall:装置项目所依靠的包文件
(5)npm run dev:运用当地node服务器在阅读器中翻开并阅读项目页面

如许我们的一个基于webpack的vue项目目次就构建好了。

单文件组件

《前端开辟之走进Vue.js》

在方才构建好的vue项目中,我们会发明一个App.vue和Hello.vue的文件,那末像如许的以.vue后缀末端的文件就是我们Vue项目中常见的单文件组件。单文件组件包括了一个功用或模块的html、js及css。在.vue文件中,我们可以在template标签中写html,在script标签中写js,在style标签中写css。如许一个功用或模块就是一个.vue组件,关于组件公用和后期的保护也异常便利。

父子组件通讯
《前端开辟之走进Vue.js》

父子组件通讯
那末像如许在以单文件组件为中心的项目开辟中,我们一定会想到一个题目,就是.vue父子组件之间是怎样交流数据来完成通讯的呢?在Vue2.0中供应了props来完成父组件向子组件通报数据,经由过程$emit来完成子组件向父组件通报数据。固然假如是较为庞杂和广泛的数据交互,发起人人运用vuex来统一治理数据。概况请见vue官网

插件运用

《前端开辟之走进Vue.js》

接下来我们引见下在基于webpack的vue项目中我们是怎样运用插件的,重要有两种状况:

(一)全局运用

(1)在index.html引入:如许的体式格局不引荐运用,由于存在前后加载递次的题目,有些插件不支撑这一体式格局。
(2)经由过程webpack设置文件引入:重要经由过程plugin设置项的webpack.ProvidePlugin()要领完成,不过只合适支撑CommonJs范例并供应一个全局变量的插件,如jQuery中的$。
(3)经由过程import + Vue.use()引入:这类体式格局须要在全局.vue文件中import须要加载的插件,然后经由过程Vue.use(‘插件变量名’)来完成,不过此要领只支撑遵照Vue.js插件编写范例的插件运用,如vue-resourece。

(二)单文件运用

(1)经由过程import直接引入:这类体式格局可以在须要挪用插件的.vue文件中运用,不过须要注重和实例的建立递次题目,或许也可以经由过程require引入。

(2)import + components注册:此体式格局为Vue组件的运用体式格局,可以在一个组件中注册并运用一个子组件。

布置及优化

《前端开辟之走进Vue.js》

当我们搞定全部Vue项目的前端编码阶段后,我们须要对我们的前端项目文件举行布置和优化事情,重要的几个体式格局以下:

(1)运用webpack的DefinePlugin指定临盆环境:经由过程plugin中的DefinePlugin设置,我们可以声明’process.env’属性为’development'(开辟环境)或许’production'(临盆环境),连系npm设置文件package.json中scripts的敕令来切换环境情势非常轻易。

(2)运用UglifyJs自动删除代码块内的正告语句:平常在临盆环境的webpack设置文件中运用,经由过程new webpack.optimize.UglifyJsPlugin()来举行设置,删除正告语句可以缩减文件的体积。

(3)运用Webpack hash处置惩罚缓存:当我们须要对宣布到线上的文件举行修改时,从新编译的文件名假如和之前版本的雷同会引起阅读器没法辨认而加载缓存文件的题目。如许我们须要自动的天生带hash值的文件名来阻挠缓存。详见:https://segmentfault.com/a/11…

(4)运用v-if削减不必要的组件加载:v-if指令实在很有用途,它可以让我们项目中临时不须要的组件不举行衬着,等须要用到的时刻在衬着,比方某个弹窗组件等。如许我们可以削减页面初次加载的时候和文件量。

除了以上几点的优化,另有许多优化挑选,有兴致的童鞋可以好好地相识下webpack的API文档,毕竟webpack的功用非常壮大。

总结

本次教程引见的情势简朴引见了Vue.js的知识点及开辟流程,并将前端自动化、组件化、工程化的理念贯串个中,简朴的引见了Vue.js,今后还会写一些关于vue百口桶的文章跟人人一同讨论和进修。

    原文作者:92year
    原文地址: https://segmentfault.com/a/1190000008812100
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞