Vue基础前瞻

1. 前言

1-1. webpack

webpack是一个模块打包工具,在开发中,各种各样的资源都可以认为是一种独特的模块资源,比如css,js,png,json等。而我们通过webpack,可以将这些资源打包压缩在指定的文件中,需要注意的是,webpack本身是支持js资源的,但我们可以通过loader加载器,来打包除了js之外的资源。

具体安装以及使用方法请参考相关文档。

1-2. 关于Es6

ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现
ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。
对于Vue.js来说,IE 8以下版本不支持,支持的浏览器仅限于可以兼容 ECMAScript 5(即Es5) 的浏览器

1-3. Vue.js中的单文件组件

  • 以.vue扩展名结尾的文件,最终会通过webpack编译成*.js文件在浏览器中运行
  • 单文件组件即一个文件就是一个组件,进而支持组件复用
  • 内容:<template></template> + <script></script> + <style></style>
    • 1: template中只能有一个根节点
    • 2:script 中 按照export default{配置} 来写
    • 3:style中,可以设置scoped属性,让其只在template中生效

附录:
     单文件组件是vue.js里面的一种特殊形式,以.vue扩展名结尾,单文件组件包含了某个组件以及定义该组件功能的js代码和定义该组件样式的css代码

<template>
<div>
        <!--在这里面组装相关组件(自定义组件或html标签)-->
</div>
</template>
<script>
       <!--在这里面定义组件功能-->
</script>
<style>
       <!--在这里面定义组件样式-->
</style>

1-4 Vue.js基础入门

  1. IE 8以下版本不支持,支持的浏览器仅限于可以兼容 ECMAScript 5 的浏览器
  2. 引入脚本文件:<script src="https://unpkg.com/vue"></script>
  3. helloworld 示例程序
    <script src="https://unpkg.com/vue"></script>
    <div id="app">
          <p>{{ message }}</p>
    </div>

<script type="text/javascript">
        new Vue({
                el: '#app',
             data: {
                      message: 'Hello Vue.js!'
            }
        })
</script>

1-5. Vue.js两个重要特征:

   1.  *关注视图层,让我们不再关注前端的东西,从而让我们只关注内部的代码逻辑*
   2.  *组件系统,让我们灵活使用组件,支持组件复用*

2 Vue.js搭建开发环境与目录结构介绍

2-1. Vue.js如何搭建开发环境

  1. 安装 node.js
  2. 安装cnpm

安装cnpm是因为使用npm install安装包时速度很慢,所以建议安装cnpm后使用cnpm install来安装包

  1. 安装vue-cli

vue-cli是搭建项目的脚手架,可以搭建开发环境,稍后将介绍 开发环境的开发目录

  1. 使用vue-cli创建项目

创建开发环境的命令是 vue init webpack firstproject(这个命令将在当前目录下创建一个名为firstproject的工程)

  • vue-cli有点投机取巧,如果想彻底弄懂vue.js的开发,建议从webpack-->ES 6-->vue-loader/vue-loader-compiler一步一步来
  • cd firstproject
  • cnpm run dev //运行工程 运行成功的界面如图1-1。以后代码若需要修改,运行该命令就可以重新加载页面
  • 采用Vue-cli运行项目的童鞋,可以将: 你的项目目录/build/webpack.dev.base.js有关Eslint的内容注释掉,因为这样可以越过代码审查
关闭Eslint.png
图1-1.PNG

2-2. Vue.js在搭建完开发环境之后的目录结构及必要文件介绍

在vue-cli执行完 vue init webpack firstproject命令之后,会创建一个名为firstproject的目录,该目录下的目录结构如图所示

图1-2.PNG

其中对我们目前最重要的是src、build、index.html、package.json。其他的也很重要,不过本人并未研究,不敢下定论

文件或目录名 作用
src 存放源代码,稍后将详细介绍
build 存放相关的启动端口信息以及其他的一些服务器信息
index.html 当我们输入http://localhost:8081默认访问的页面
package.json 很重要的文件,使用Vue-cli生成,和webpack有关系。一般不需要改动

2-2-1. src的目录结构

图1-3.PNG
文件或目录名 作用
App.vue 单文件组件,index.html里面显示的就是App这个组件,由main.js配置
components 该目录下存放我们自定义的组件
main.js 功能包含组件的注册,全局组件的声明,构建vue实例(将我们的App.vue渲染到html中对应的div里面)

2-2-2. build目录的目录结构

图1-4.PNG

其他的我目前没有用到,目前涉及到的是webpack.base.conf.js里面有关于端口的介绍


组件复用
1. 自定义组件:

// 定义名为 todo-item 的新组件
Vue.component('todo-item', {
  template: '<li>这是个待办项</li>'
})
<ol>
  <!-- 创建一个 todo-item 组件的实例 -->
  <todo-item></todo-item>
</ol>

上面的代码仅仅是提供某个代办项而已,如果有多个<todo-item>组件,仅仅是简单重复,如果需要让某个组件内容动态化,可以这么写

<div id="app-7">
  <ol>
    <!--
      现在我们为每个 todo-item 提供 todo 对象
      todo 对象是变量,即其内容可以是动态的。
      我们也需要为每个组件提供一个“key”,稍后再
      作详细解释。
    -->
    <todo-item
      v-for="item in groceryList"
      v-bind:todo="item"  //因为自定义了todo,所以可以使用
      v-bind:key="item.id">
    </todo-item>
  </ol>
</div>

Vue.component('todo-item', {
  props: ['todo'], //自定义属性
  template: '<li>{{ todo.text }}</li>'
})

var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { id: 0, text: '蔬菜' },
      { id: 1, text: '奶酪' },
      { id: 2, text: '随便其它什么人吃的东西' }
    ]
  }
})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容

  • 忙完下班 青儿说今天过节一起吃顿饭 点了她最喜欢的三杯鸡 与广东一带不同 湖南的冬至并不是个很特别很隆重的日子
    aijer09阅读 143评论 0 0
  • 三读《活着》,体验着生命的庄重与脆弱,感悟着活着的幸运与知足。 这些年阅书无数,观影更是多如牛毛,直到现在能说出名...
    莹子墨阅读 619评论 2 8
  • 昨天,我午休时老大范范带着跳跳在客厅玩。范范时而带着弟弟玩玩具,时而带着弟弟骑滑滑车,时而陪弟弟看电视。等...
    城关周小彭文静阅读 183评论 0 0
  • 我想,我们再见时,我一定会认出你的,你化成灰我也认识!因为,你身上有我熟悉的气息。我想,我看到你时,说的第...
    岚陌水阅读 352评论 0 0