抑或都亟需用到这些UI框架的组件,通晓Vue.js的开支流程

自身是一个刚毕业半年多的前端小白,进集团办事的时候,由于公司的前端技术还没定下来,所以在做项目的时候我是自由发挥。由于vue具有上心灵,开发效率高的性状,所以,我在做项目时候,便接纳了vue作为技术栈,由于是率先次接纳bootstrap加jQuery以外的技术栈,所以以下是在做到项目标长河中,对vue使用方面认识不到或不足的反省。

Vue.js作为当下最吃香最具前景的前端框架之一,其提供了一种帮忙我们神速构建并付出前端项目标新的思想格局。本文目的在于协助我们认识Vue.js,精通Vue.js的开发流程,并进而通晓什么通过Vue.js来构建一个中大型的前端项目,同时抓好对应的安排与优化办事。

1.首先,新手使用vue最广大的失误,就是DOM操作,而vue的双向数据绑定,恰恰让大家实际不需要开展繁琐的DOM操作,我们只需要关爱数据层面就可以了。想想自己最最先拿到input依旧用什么document.getElementById(‘id’).value那种,就觉得自己很傻,明明只需要v-model绑定data就好了,唉~

作品将以PPT图片附加文(加文)字介绍的花样进行,不会涉及知识点的具体代码,点到停止。有趣味的同桌可以查六柱预测应的文档举办打探。

2.以为vue只好用来开发SPA。直到看到尤大神在果壳网上回答的:不必然做个类别就非得cli一个一家子桶,vue也不是为单页面而生的。我才了然,vue的利用模式,我单独知道冰山一角,怎样能灵活依据自己的需要使用支付,还需协调将来的多多成人。

Vue.js简介

图片 1

Vue.js简介

从上图的牵线中大家不难察觉Vue.js是一款轻量级的以多少驱动的前端JS框架,其和jQuery最大的不同点在于jQuery通过操作DOM来改变页面的突显,而Vue通过操作数据来促成页面的翻新与展示。上面便是Vue数据驱动的概念模型:

图片 2

数据模型

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

当View层的视图发生变动时,Vue会通过DOM
Listeners来监听并转移Model层的多少。相反,当Model层的多寡爆发变更时,其也会透过Data
Bingings来监听并转移View层的突显。这样便实现了一个双向数据绑定的效能,也是Vue.js数据驱动的原理所在。

3.组件化思想。最先一开首,觉得人家的UI框架都写好了,就间接拿来用。当然如此做并不曾什么问题。然则,当自己发觉自己每个页面几乎都有几段同样的代码,或者都急需用到这多少个UI框架的零部件,比如面包屑,比如导航菜单,这我干嘛不把这样UI框架做成独立的零部件呢?

Vue实例

图片 3

Vue实例

在一个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表示实例生命周期中开创完成的那一步,当实例已经成立完成未来将调用其方法。

4.路由懒加载。当自己的类型打包后,运行,初次加载慢的飞起。这让自身很头痛,这样光有开发进度有哪些用,用户体验肯定是不佳的。我查了下打包后的dist文件夹,我去,好几兆。所以,难道要自我再也选用其他技术栈再开发五遍。当然是无法了。在网上查了资料后,终于理解了路由懒加载那个法子。使用路由懒加载后,webpack会把原先很大的js分解成两个体积较小的js,当大家运行加载行,它会按需加载,这样初次加载过长的问题便解决了。

Vue常用命令

图片 4

Vue常用命令

在Vue项目标支付中,我们使用的最多的应该就属Vue的授命了。通过Vue提供的常用命令,我们可以酣畅淋漓地发挥Vue数据驱动的精锐效用。以下便是图中常用命令的简短介绍:

(1)v-text: 用于更新绑定元素中的内容,类似于jQuery的text()方法
(2)v-html:
用于革新绑定元素中的html内容,类似于jQuery的html()方法
(3)v-if:
用于按照表达式的值的真伪条件渲染元素,假如上图P3为false则不会渲染P标签
(4)v-show: 用于依据表明式的值的真伪条件�显示隐藏元素,切换元素的
display CSS 属性
(5)v-for:
用于遍历数据渲染元素或模板,如图中P6为[1,2,3]则会渲染3个P标签,内容逐条为1,2,3
(6)v-on: 用于在要素上绑定事件,图中在P标签上绑定了showP3的点击事件

有关更多的Vue指令可以查阅Vue2.0文档,地址:https://vuefe.cn/api/\#指令

5.webpack。用到了vue全家桶,便少不了webpack。并不是,你npm run
build,就可以欣慰睡觉去。就比如我在拔取video.js时就需要在webpack里面配备(那多少个搞了自己很久,头皮发麻)。webpack是个有力的东西,可以遵照webpack做过多的事,比如,引入其他插件,把单页面改成多页面配置,给文件夹配置路径方便书写等等。但,不得不说,这么些东西很难学,而且官网说实话对自身而言写的并不通俗易懂,这一个个插件表明文档就更别提了,能看懂的不到一半。当然也恐怕是我太菜。要想成长,webpack是自己然后必须攻下的难关。

Vue.js技术栈

图片 5

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项目了。

6.结尾一个,无关于vue,这便是,遭遇题目,先想一想,上网查阅资料,资料看不懂了,再去问人家。这一点其实际职场很重大,因为我们都有和好的办事,什么人也平素不时间和权利去帮你,所以能自己解决的尽心协调解决。

�构建大型应用

图片 6

�构建大型应用

在构建大家的中大型Vue项目中,我们最首要介绍如何行使vue-cli来自动生成大家项目标前端目录及文件,了然Vue中全部皆组件的概念及父子组件的通信问题,讲解在Vue项目中我们如何利用第三方插件,最后接纳webpack来打包及安排大家的品类。

本人小白,不足之处多多指教。

vue-cli构建

图片 7

vue-cli构建

在使用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项目目录就构建好了。

单文件组件

图片 8

单文件组件

在刚刚构建好的vue项目中,大家会发觉一个App.vue和Hello.vue的公文,那么像这么的以.vue后缀结尾的文件便是我们Vue项目中广泛的单文件组件。单文件组件包含了一个效用或模块的html、js及css。在.vue文件中,我们可以在template标签中写html,在script标签中写js,在style标签中写css。这样一个功用或模块就是一个.vue组件,对于组件公用和末代的掩护也特别省事。

�父子组件通信

图片 9

父子组件通信

这就是说像这么在以单文件组件为主导的门类开发中,我们必将会想到一个问题,就是.vue父子组件之间是咋样交流数据来兑现通信的呢?在Vue2.0中提供了props来贯彻父组件向子组件传递数据,通过$emit来落实子组件向父组件传递数据。当然假使是较为复杂和广泛的数量交互,提出大家使用vuex来平等管理数据。详情请见:https://vuefe.cn/guide/components.html\#使用Props传递数据

插件使用

图片 10

插件使用

接下去我们介绍下在遵照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组件的运用情势,可以在一个零件中登记并动用一个子零件。

布局及优化

图片 11

布置及优化

当我们搞定所有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/1190000006178770\#articleHeader7

(4)使用v-if缩小不必要的机件加载:v-if指令其实很有用处,它可以让大家项目中临时不需要的零件不开展渲染,等急需运用的时候在渲染,比如某个弹窗组件等。这样大家得以减小页面第一次加载的日子和文件量。

而外以上几点的优化,还有很多优化增选,有趣味的童鞋可以可以地打听下webpack的API文档,毕竟webpack的功用相当强硬。

多少驱动实例##

图片 12

数据驱动实例

这是自家事先使用Vue.js数据驱动的法则写的一个拼图游戏,希望可以供我们进一步精通Vue数据驱动的看法。
以身作则地址:拼图游戏
代码地址:拼图代码

总结

本文以PPT图片附加文字介绍的款型简单介绍了Vue.js的知识点及支付流程,并将前端自动化、组件化、工程化的看法贯穿其间,由浅入深地演说了Vue.js“简单却不失优雅,小巧而不发大匠”的例外魅力。

相关文章