Web开发权威指南
2020-04-17 16:48:06 0 举报
AI智能生成
Web开发权威指南
作者其他创作
大纲/内容
第三部分 实时数据传输
15 Node.js入门
15.1 Node和npm
15.2 Hello, World
15.3 添加一个npm脚本
15.4 用文件提供服务
15.5 错误处理
15.6 延展阅读:npm模块注册
15.7 初级挑战:创建自定义错误页面
15.8 延展阅读:MIME类型
15.9 中级挑战:动态提供MIME类型
15.10 高级挑战:将错误处理放到单独的模块中
16 使用WebSocket进行实时通信
16.1 配置WebSocket
16.2 测试WebSocket服务器
16.3 创建聊天服务器的功能
16.4 第一次聊天!
16.5 延展阅读:WebSocket库socket.io
16.6 延展阅读:WebSocket服务
16.7 初级挑战:我重复了我的消息吗?
16.8 中级挑战:Speakeasy
16.9 高级挑战:聊天机器人
17 借助Babel使用ES6
17.1 编译JavaScript的工具
17.2 Chattrbox客户端应用程序
17.3 迈出Babel的第一步
17.4 使用Browserify打包模块
17.5 新增ChatMessage类
17.6 创建ws-client模块
17.7 延展阅读:将其他语言编译成JavaScript
17.8 初级挑战:默认导入名称
17.9 中级挑战:提醒连接关闭
17.10 延展阅读:变量提升
17.11 延展阅读:箭头函数
18 继续ES6探索之旅
18.1 将jQuery安装成一个Node模块
18.2 创建ChatForm类
18.3 创建ChatList类
18.4 使用Gravatar
18.5 请求用户名
18.6 使用会话存储
18.7 格式化和更新消息时间戳
18.8 初级挑战:给消息添加特效
18.9 中级挑战:缓存消息
18.10 高级挑战:独立的聊天室
第四部分 应用架构
19 初识MVC和Ember
19.1 Tracker
19.2 Ember:一款MVC框架
19.3 安装外部库和插件
19.4 修改配置
19.5 延展阅读:npm和Bower的安装命令
19.6 初级挑战:限制引入
19.7 中级挑战:添加Font Awesome库
19.8 高级挑战:自定义NavBar
20 路由选择、路由表、模型
20.1 Ember生成器
20.2 嵌套路由
20.3 Ember Inspector
20.4 指派模型
20.5 beforeModel
20.6 延展阅读:setupController和afterModel
21 模型和数据绑定
21.1 定义模型
21.2 创建记录
21.3 get和set
21.4 计算属性
21.5 延展阅读:检索数据
21.6 延展阅读:保存或删除数据
21.7 初级挑战:修改计算属性
21.8 中级挑战:对新的目击记录进行标记
21.9 高级挑战:添加称呼
22 数据——适配器、序列化器和变换器
22.1 适配器
22.2 内容安全策略
22.3 序列化器
22.4 变换器
22.5 延展阅读:Ember CLI Mirage
22.6 中级挑战:内容安全
22.7 高级挑战:Mirage
23 视图与模板
23.1 Handlebars
23.2 模型
23.3 辅助方法
23.4 自定义辅助方法
23.5 初级挑战:为链接添加鼠标悬浮的内容
23.6 中级挑战:修改日期格式
23.7 高级挑战:创建一个自定义缩略图辅助方法
24 控制器
24.1 新建目击记录
24.2 编辑目击记录
24.3 删除目击记录
24.4 路由动作
24.5 初级挑战:目击记录详情页
24.6 中级挑战:目击日期
24.7 高级挑战:添加和删除目击者
25组件
25.1 迭代器组件
25.2 “拧干”组件的“水分”
25.3 数据向下,动作向上
25.4 类名绑定
25.5 数据向下
25.6 动作向上
25.7 初级挑战:自定义提示信息
25.8 中级挑战:将导航条转化为组件
25.9 高级挑战:提示框数组
26 后记
献词
学习前端Web开发
目标读者
本书的组织结构
如何使用本书
挑战
延展阅读
第一部分 浏览器编程基础
1 配置开发环境
1.1 安装Google Chrome
1.2 安装并配置Atom
1.3 文档和参考资料
1.4 命令行速成
1.5 安装Node.js和browser-sync
1.6 延展阅读:Atom的替代工具
2 开始第一个项目
2.1 搭建Ottergram
2.2 浏览网页
2.3 Chrome开发者工具
2.4 延展阅读:CSS版本
2.5 延展阅读:favicon.ico
2.6 中级挑战:添加favicon.ico
3 样式
3.1 创建基本样式
3.2 为HTML文件添加样式
3.3 样式的构成
3.4 第一条样式规则
3.5 样式继承
3.6 图片自适应
3.7 颜色
3.8 调整空白
3.9 添加字体
3.10 初级挑战:更改颜色
3.11 延展阅读:优先级!当选择器发生冲突了……
4 flexbox响应式布局
4.1 界面拓展
4.2 flexbox
4.3 绝对定位与相对定位
5 使用媒体查询完成自适应布局
5.1 重置视口
5.2 添加媒体查询
5.3 初级挑战:屏幕方向
5.4 延展阅读:flexbox布局通用解决方案与bug
5.5 高级挑战:圣杯布局
6 JavaScript事件处理
6.1 准备锚标签
6.2 第一个脚本
6.3 Ottergram中的JavaScript描述
6.4 声明字符串变量
6.5 操作控制台
6.6 访问DOM元素
6.7 编写setDetails函数
6.8 从函数返回值
6.9 添加事件监听器
6.10 访问所有缩略图
6.11 迭代缩略图数组
6.12 中级挑战:劫持链接
6.13 高级挑战:随机的水獭
6.14 延展阅读:严格模式
6.15 延展阅读:闭包
6.16 延展阅读:NodeList对象和HTMLCollection对象
6.17 延展阅读:JavaScript类型
7 使用CSS营造视觉效果
7.1 隐藏及显示大图
7.2 使用CSS过渡改变状态
7.3 自定义定时函数
7.4 延展阅读:强制类型转换的规则
第二部分 模块、对象及表单
8 模块、对象和方法
8.1 模块
8.2 搭建我们的CoffeeRun吧
8.3 创建数据存储模块
8.4 在命名空间上添加一个模块
8.5 构造函数
8.6 创建Truck模块
8.7 调试
8.8 在页面加载时初始化CoffeeRun
8.9 初级挑战:使用非星迷熟悉的餐车ID1
8.10 延展阅读:模块私有数据
8.11 中级挑战:私有化数据
8.12 延展阅读:在forEach的回调函数中设置this
9 Bootstrap简介
9.1 添加Bootstrap
9.2 创建订单表单
10 使用JavaScript处理表单
10.1 创建FormHandler模块
10.2 添加提交处理程序
10.3 使用FormHandler
10.4 UI优化
10.5 初级挑战:添加超级尺寸
10.6 中级挑战:当滑块滑动时显示其数值
10.7 高级挑战:添加选择
11 从数据到DOM
11.1 建立清单
11.2 创建CheckList模块
11.3 创建行构造函数
11.4 在提交时创建清单行
11.5 通过单击行完成订单
11.6 初级挑战:在描述中加入浓度信息
11.7 中级挑战:不同口味,不同颜色
11.8 高级挑战:允许编辑订单
12 表单校验
12.1 required属性
12.2 使用正则表达式校验表单
12.3 约束校验API
12.4 美化有效元素和无效元素
12.5 中级挑战:为脱咖啡因咖啡进行自定义校验
12.6 延展阅读:Webshim库
13 Ajax
13.1 XMLHttpRequest对象
13.2 RESTful Web服务
13.3 RemoteDataStore模块
13.4 向服务器发送数据
13.5 从服务器检索数据
13.6 从服务器删除数据
13.7 用RemoteDataStore替换DataStore
13.8 中级挑战:校验远端服务器
13.9 延展阅读:Postman
14 Deferred和Promise
14.1 Promise和Deferred
14.2 返回Deferred
14.3 通过then注册回调函数
14.4 使用then处理失败的情况
14.5 在仅支持回调函数的API上使用Deferred
14.6 为DataStore配置Promise
14.7 中级挑战:回退到Datastore
0 条评论
下一页