新書推薦:
《
同与不同:50个中国孤独症孩子的故事
》
售價:NT$
301.0
《
开宝九年
》
售價:NT$
250.0
《
论僭政:色诺芬《希耶罗》义疏(含施特劳斯与科耶夫通信集)
》
售價:NT$
500.0
《
传播与流动:移民、手机与集装箱(新闻与传播学译丛·学术前沿系列)
》
售價:NT$
500.0
《
《证券分析》前传:格雷厄姆投资思想与证券分析方法
》
售價:NT$
612.0
《
当我点击时,算法在想什么?
》
售價:NT$
356.0
《
服务的细节136:提高成交率的50个销售技巧
》
售價:NT$
296.0
《
变法与党争:大明帝国的衰亡(1500—1644)
》
售價:NT$
439.0
|
編輯推薦: |
与传统的Web应用不同,单页应用在近几年发展迅猛。国外的典型产品是Gmail,为传统的Web页面注入了意想不到的活力,国内则是由于微信的迅猛发展,单页应用在手机端表现性能十分优异,使用越来越流行。
目前来看,Vue.js作为极其耀眼的项目之一,学习起来快速直接,受到国内开发人员的推崇,许多知名应用也纷纷使用本框架。可以认为,Vue.js框架直接冲击了老牌的Angular和React,是未来的主流单页应用框架。
|
內容簡介: |
目前单页应用框架层出不穷,其中Vue.js是十分耀眼的项目之一,受到国内外开发人员的极度推崇。 全书分为8章,内容包括Vue.js概述、Vue.js的安装、定义页面、渲染视图、路由、发送HTTP请求、表单的绑定和提交、打包、部署、解决js的跨域问题、Debug、Component、Mixin、Vuex、页面的生命周期等,*后还给出一个实战案例供读者了解Vue.js项目开发过程。 本书适合Vue.js初学者、Web前端开发人员,也适合高等院校和培训学校的师生教学参考。
|
關於作者: |
申思维,软件行业老兵。stackoverflow.com分数13k,排名前3%。2001~2005年本科就读于华南理工大学计算机学院软件技术专业,毕业后在北京工作,经历了人力外派、私企、中等规模外包公司、顶级外企和国内互联网知名企业。
|
目錄:
|
目 录
第1章 Vue.js概述 1
1.1 单页应用的出现 1
1.2 为什么要使用Vue.js 2
1.2.1 单页应用 2
1.2.2 知名的单页应用(SPA)框架对比 5
1.2.3 被腾讯和阿里巴巴所青睐 9
1.2.4 用到Vue.js的项目 9
第2章 原生的Vue.js 10
2.1 极速入门 10
2.2 实际项目 11
2.2.1 运行整个项目 12
2.2.2 HTML代码的部分 18
2.2.3 HTML代码的部分 19
2.2.4 js代码部分 21
2.2.5 小结 25
第3章 Webpack Vue.js开发准备 26
3.1 学习过程 26
3.1.1 可以跳过的章节 26
3.1.2 简写说明 26
3.1.3 本书例子文件下载 27
3.2 NVM、NPM与Node 27
3.2.1 Windows下的安装 28
3.2.2 Linux、Mac下的安装 31
3.2.3 运行 31
3.2.4 使用NVM安装或管理node版本 32
3.2.5 删除NVM 33
3.2.6 加快NVM和NPM的下载速度 33
3.3 Git在Windows下的使用 34
3.3.1 为什么要使用Git Bash 34
3.3.2 安装git客户端 35
3.3.3 使用Git Bash 40
3.4 Webpack 41
3.4.1 Webpack功能 42
3.4.2 Webpack安装与使用 43
3.5 开发环境的搭建 44
3.5.1 安装Vue.js 44
3.5.2 运行 vue 44
3.6 Webpack下的Vue.js项目文件结构 45
3.6.1 build文件夹 46
3.6.2 config 文件夹 46
3.6.3 dist文件夹 47
3.6.4 node_modules 文件夹 47
3.6.5 src 文件夹 49
第4章 Webpack Vue.js实战 50
4.1 创建一个页面 50
4.1.1 新建路由 50
4.1.2 创建一个新的Component 51
4.1.3 为页面添加样式 52
4.1.4 定义并显示变量 53
4.2 Vue.js中的ECMAScript 55
4.2.1 let、var、常量与全局变量 55
4.2.2 导入代码:import 56
4.2.3 方便其他代码使用自己: export default {..} 56
4.2.4 ES中的简写 57
4.2.5 箭头函数= 57
4.2.6 hash中同名的key、value的简写 58
4.2.7 分号可以省略 58
4.2.8 解构赋值 58
4.3 Vue.js 渲染页面的过程和原理 59
4.3.1 渲染过程1:js入口文件 59
4.3.2 渲染过程2:静态的HTML页面(index.html) 61
4.3.3 渲染过程3:main.js中的Vue定义 62
4.3.4 渲染原理与实例 63
4.4 视图中的渲染 64
4.4.1 渲染某个变量 64
4.4.2 方法的声明和调用 65
4.4.3 事件处理:v-on 66
4.5 视图中的Directive(指令) 67
4.5.1 前提:在directive中使用表达式(Expression) 67
4.5.2 循环:v-for 67
4.5.3 判断:v-if 69
4.5.4 v-if与v-for的优先级 70
4.5.5 v-bind 72
4.5.6 v-on 73
4.5.7 v-model 与双向绑定 75
4.6 发送http请求 77
4.6.1 调用http请求 78
4.6.2 远程接口的格式 80
4.6.3 设置Vue.js开发服务器的代理 81
4.6.4 打开页面,查看http请求 83
4.6.5 把结果渲染到页面中 84
4.6.6 如何发起post请求 85
4.7 不同页面间的参数传递 86
4.7.1 回顾:现有的接口 86
4.7.2 显示博客详情页 87
4.7.3 新增路由 88
4.7.4 修改博客列表页的跳转方式1:使用事件 89
4.7.5 修改博客列表页的跳转方式2:使用v-link 91
4.8 路由 92
4.8.1 基本用法 92
4.8.2 跳转到某个路由时带上参数 93
4.8.3 根据路由获取参数 94
4.9 使用样式 94
4.10 双向绑定 96
4.11 表单项目的绑定 99
4.12 表单的提交 102
4.13 Component 组件 105
4.13.1 如何查看文档 105
4.13.2 Component的重要作用: 重用代码 106
4.13.3 组件的创建 106
4.13.4 向组件中传递参数 108
4.13.5 脱离Webpack,在原生Vue.js中创建component 110
第5章 运维和发布Vue.js项目 112
5.1 打包和部署 112
5.1.1 打包 112
5.1.2 部署 114
5.2 解决域名问题与跨域问题 117
5.2.1 域名404 问题 118
5.2.2 跨域问题 119
5.2.3 解决域名问题和跨域问题 120
5.3 如何Debug 122
5.3.1 时刻留意本地开发服务器 122
5.3.2 看developer tools提出的日志 122
5.3.3 查看页面给出的错误提示 123
5.4 基本命令 125
5.4.1 建立新项目 125
5.4.2 安装所有的第三方包 125
5.4.3 在本地运行 126
5.4.4 打包编译 127
第6章 进阶知识 128
6.1 js的作用域与this 128
6.1.1 作用域 128
6.1.2 this 130
6.1.3 实战经验 131
6.2 Mixin 133
6.3 使用Computed Properties(计算得到的属性)和watchers(监听器) 135
6.3.1 典型例子 135
6.3.2 Computed Properties 与 普通方法的区别 136
6.3.3 watched property 137
6.3.4 Computed Property的setter(赋值函数 140
6.4 Component(组件)进阶 141
6.4.1 实际项目中的Component 142
6.4.2 Prop 144
6.4.3 Attribute 146
6.5 Slot 146
6.5.1 普通的Slot 147
6.5.2 named slot 148
6.5.3 slot 的默认值 149
6.6 Vuex 150
6.6.1 正常使用的顺序 150
6.6.2 Computed属性 154
6.6.3 Vuex原理图 155
6.7 Vue.js的生命周期 156
6.8 最佳实践 157
6.9 Event Handler 事件处理 158
6.9.1 支持的Event 158
6.9.2 使用 v-on 进行事件绑定 159
6.10 与CSS预处理器结合使用 168
6.10.1 SCSS 168
6.10.2 LESS 169
6.10.3 SASS 170
6.10.4 在Vue.js中使用CSS预编译器 171
6.11 自定义 Directive 172
6.11.1 例子 172
6.11.2 自定义Directive的命名方法 173
6.11.3 钩子方法(Hook Functions) 174
6.11.4 自定义Directive可以接收到的参数 174
6.11.5 实战经验 175
第7章 实战周边及相关工具 176
7.1 微信支付 176
7.2 Hybrid App:混合式App 177
7.3 安装 Vue.js的开发工具: Vue.js devtool 178
7.4 如何阅读官方文档 181
第8章 实战项目 183
8.1 准备1:文字需求 183
8.2 准备2:需求原型图 186
8.2.1 明确前端页面 186
8.2.2 如何画原型图 186
8.2.3 首页 186
8.2.4 商品列表页 187
8.2.5 商品详情页 187
8.2.6 购物车页面 188
8.2.7 支付页面 188
8.2.8 我的页面 189
8.2.9 我的订单列表页面 189
8.2.10 总结 190
8.3 准备3:微信的相关账号和开发者工具 190
8.3.1 微信相关账号的申请 190
8.3.2 微信开发者工具 190
8.4 项目的搭建 192
8.5 用户的注册和微信授权 193
8.6 登录状态的保持 202
8.7 首页轮播图 203
8.8 底部Tab 213
8.9 商品列表页 217
8.10 商品详情页 219
8.11 购物车 225
8.13 微信支付 233
8.14 回顾 244
|
內容試閱:
|
前 言
本书是根据笔者公司过去两年多的实际项目经验编写的。
笔者从2016年经营自己的软件公司,到2018年6月,做了近三十个项目。这些项目中,对于手机端的Webpack呼声最高,大部分项目都要求在手机端使用Webpack打包。
在使用Vue.js之前,笔者考察过Angular(包括1.x、2.x版本、React、Meteor,这几个框架都适合做快速开发。要么是学习曲线陡峭,概念复杂,把简单的事情复杂化(如Angular),要么就是编码风格不好,前后端代码混写在一起(如React、Meteor。而Vuejs是当时在stackoverflow等国外技术站点上被一致看好的技术。
第一次使用Vuejs 1.x是在2016年4月,我们发现Vue.js入门特别快,稍微有一定Webpack 开发经验的程序员,在一周内就可以上手做项目,认真学习的话,一个月就可以达到熟练水平(快速的开发项目),两三个月就可以达到高级水平(熟练使用Vuex,自己写Component等)。这么快的上手速度,在其他语言中是不可想象的。根据笔者的实际体会,使用Angular入门仅需要一个月,使用React入门速度也没有这么快。总之,越是简洁的框架,就越好学。
后来,笔者在项目中使用它,一发不可收拾,只要是H5项目,就可以很好地用起来。快速开发,快速迭代,性能杠杠的。而且,额外的好处就是可以非常好地与Native App的开发结合。在iOS上可以做到完美呈现,让人无法分辨哪个页面是原生,哪个页面是H5制作的。
学习目标
本书是笔者公司的员工培训教程,可以在极短的时间内(如一周)上手Vue.js项目。 让读者:
? 看得懂代码。
? 可以写一些基本的功能。
? 可以调试和部署。
这就算入门H5开发了。
使用说明
如果把文档分成两类:
? guide,教程型文档。
? API,接口型文档。
本文档就是入门的教程式文档,在线查看地址为http:vue_book.siwei.me。
本书使用gitbook写成,可以自行编译(安装环境和编译命令可参考http:siwei.meblog
postsgitbook-gitbook)。
本书中出现的命令行统一以$作为开始。例如:
$ npm install vue-cli
对命令行不熟悉的读者,在写命令时跳过前面的 $ 即可。
源代码下载
本书中所有的示例源代码,都可以在https:github.comsg552happy_book_vuejs上找到。
版本说明
截至2018年6月底,Vue.js的版本是2.5.16。本书中的大部分示例都是在该版本下演示的。
如果您是一位没有任何工作经验的新人,在Windows 环境下,建议使用 sublime(免费) git bash(免费),就可以运行本书中的所有例子了。如果您是一名有工作经验的老鸟,那么Linux、Mac则是非常好的选择。
那么,我们就开始一段令人兴奋的学习历程吧。
编 者
2018年9月
|
|