Vue与webpack的入门

一、VUE的研究
1.vue.js介绍
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计
为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种 支持类库结合使用时, Vue 也完全能够为复杂的单页应用提供驱动。
渐进式框架:Progressive,说明vue.js的轻量,是指一个前端项目可以使用vue.js一两个特性也可以整个项目都用
vue.js。
自底向上逐层应用:作为渐进式框架要实现的目标就是方便项目增量开发。

2.Vue.js与ECMAScript
Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。
什么是ECMAScript?
ECMAScript(简称ES)是一种规范,我们平常所说的Js/Javascript是ECMAScript的实现,早期主要应用的ES3,当前主流浏览器都支持ES5、ES6,ES8已于2017年发布。
ES6:http://www.ecma-international.org/ecma-262/6.0/
ES7 :http://www.ecma-international.org/ecma-262/7.0/

3、Vue.js的使用
1)在html页面使用script引入vue.js的库即可使用。
2)使用Npm管理依赖,使用webpack打包工具对vue.js应用打包。
大型应用推荐此方案。
3)Vue-CLI脚手架
使用 vue.js官方提供的CLI脚本架很方便去创建vue.js工程雏形。
4、vue.js有哪些功能?
1)声明式渲染
Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统。
比如:使用vue.js的插值表达式放在Dom的任意地方, 差值表达式的值将被渲染在Dom中。
2)条件与循环
dom中可以使用vue.js提供的v-if、v-for等标签,方便对数据进行判断、循环。
3)双向数据绑定
Vue 提供v-model 指令,它可以轻松实现Dom元素和数据对象之间双向绑定,即修改Dom元素中的值自动修改绑定的数据对象,修改数据对象的值自动修改Dom元素中的值。
4)处理用户输入
为了让用户和你的应用进行交互,我们可以用 v -on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法
5)组件化应用构建
vue.js可以定义一个一个的组件,在vue页面中引用组件,这个功能非常适合构建大型应用。

2.vue.js基础
MVVM模式
vue.js是一个MVVM的框架,理解MVVM有利于学习vue.js。
MVVM 拆分解释为:
Model: 负责数据存储
View: 负责页面展示
View Model: 负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示MVVM 要解决的问题是将业务逻辑代码与视图代码进行完全分离,使各自的职责更加清晰,后期代码维护更加简单用图解的形式分析 Ajax请求回来数据后直接操作Dom来达到视图的更新的缺点,以及使用MVVM模式是如何
来解决这个缺点的
Vue 中的 MVVM
在这里插入图片描述
从上图看出,VM(ViewModel)可以把view视图和Model模型解耦合,VM的要做的工作就是vue.js所承担的。

1.2.2 入门程序
本次测试我们在门户目录中创建一个html页面进行测试,正式的页面管理前端程序会单独创建工程。
在门户目录中创建vuetest目录,并且在目录下创建vue_01.html文件

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF‐8">
    <title>vue.js入门程序</title>
    <script src="/js/vue/vue.min.js"></script>
</head>
<body>
<div id="app">
{{name}}
    <!‐‐ 在Vue接管区域中使用Vue的系统指令呈现数据
    这些指令就相当于是MVVM中的View这个角色 ‐‐>
</div>
</body>
<script>
    // 实例化Vue对象
    //vm :叫做MVVM中的 View Model
    var VM = new Vue({
        el:"#app",//表示当前vue对象接管app的div区域
        data:{
            name:'传智播客'// 相当于是MVVM中的Model这个角色
        }
    });
</script>
</html>

代码编写步骤:
1、定义html,引入vue.js
2、定义app div,此区域作为vue的接管区域
3、定义vue实例,接管app区域。
4、定义model(数据对象)
5、VM完成在app中展示数据

vue组件
1、v-model:
1、在表单控件或者组件上创建双向绑定 2、v-model仅能在如下元素中使用:

input
 select
 textarea
 components(Vue中的组件)

2、解决插值表达式闪烁问题,使用v-text
v-text可以将一个变量的值渲染到指定的元素中,它可以解决插值表达式闪烁的问题
3、v-on绑定一个按钮的单击事件
4、v-bind

1、作用:
    v‐bind可以将数据对象绑定在dom的任意属性中。
  v‐bind可以给dom对象绑定一个或多个特性,例如动态绑定style和class   
 
  2、举例:
      <img v‐bind:src="imageSrc">  
      <div v‐bind:style="{ fontSize: size + 'px' }"></div>
        
  3、缩写形式
      <img :src="imageSrc">
      <div :style="{ fontSize: size + 'px' }"></div>
   

 1.2.4 v-if 和v-for



  <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF‐8">
    <title>Document</title>
    <script src="/js/vue/vue.min.js"></script>
</head>
<body>
<div id="app">
    <ul>
        <!‐‐只显示偶数行‐‐>
        <li v‐for="(item,index) in list" :key="index" v‐if="index % 2==0">{{index}}‐{{item}}
</li>
        <li v‐for ="(value,key) in user">{{key}}‐{{value}}</li>
        <li v‐for="(item,index) in userlist" :key="item.user.uname">
            <div v‐if="item.user.uname=='heima'" style="background: chartreuse"><!‐‐名称为heima的
加背景色‐‐>
                {{index}}‐{{item.user.uname}}‐{{item.user.age}}
            </div>
            <div v‐else="">
                {{index}}‐{{item.user.uname}}‐{{item.user.age}}
            </div>
        </li>
    </ul>
</div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            list:[1,2,3,4,4],
            user:{uname:'itcast',age:10},
            userlist:[
                { user:{uname:'itcast',age:10}},
                { user:{uname:'heima',age:11}}
            ]
        }
    });
</script>
</html>

二、webpack入门
使用vue.js开发大型应用需要使用webpack打包工具,本节研究webpack的使用方法。
Webpack 是一个前端资源的打包工具,它可以将js、image、css等资源当成一个模块进行打包。
在这里插入图片描述
从图中我们可以看出,Webpack 可以将js、css、png等多种静态资源 进行打包,使用webpack有什么好处呢?
1、模块化开发
程序员在开发时可以分模块创建不同的js、 css等小文件方便开发,最后使用webpack将这些小文件打包成一个文件,减少了http的请求次数。webpack可以实现按需打包,为了避免出现打包文件过大可以打包成多个文件。
2、 编译typescript、ES6等高级js语法
随着前端技术的强大,开发中可以使用javascript的很多高级版本,比如:typescript、ES6等,方便开发,webpack可以将打包文件转换成浏览器可识别的js语法。
3、CSS预编译
webpack允许在开发中使用Sass 和 Less等原生CSS的扩展技术,通过sass-loader、less-loader将Sass 和 Less的语法编译成浏览器可识别的css语法。
webpack的缺点:
1、配置有些繁琐
2、文档不丰富

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值