登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』全栈开发之道:MongoDB+Express+AngularJS+Node.js

書城自編碼: 3069362
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 和凌志
國際書號(ISBN): 9787121327223
出版社: 电子工业出版社
出版日期: 2017-09-01
版次: 1
頁數/字數: 268/
書度/開本: 16开 釘裝: 平塑

售價:NT$ 490

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
化妆品学原理
《 化妆品学原理 》

售價:NT$ 254.0
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
《 万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机 》

售價:NT$ 214.0
爱你,是我做过最好的事
《 爱你,是我做过最好的事 》

售價:NT$ 254.0
史铁生:听风八百遍,才知是人间(2)
《 史铁生:听风八百遍,才知是人间(2) 》

售價:NT$ 254.0
量子网络的构建与应用
《 量子网络的构建与应用 》

售價:NT$ 500.0
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
《 拍电影的热知识:126部影片里的创作技巧(全彩插图版) 》

售價:NT$ 500.0
大唐名城:长安风华冠天下
《 大唐名城:长安风华冠天下 》

售價:NT$ 398.0
情绪传染(当代西方社会心理学名著译丛)
《 情绪传染(当代西方社会心理学名著译丛) 》

售價:NT$ 403.0

建議一齊購買:

+

NT$ 857
《 从芯片到云端:Python物联网全栈开发实践 》
+

NT$ 641
《 移动Web前端高效开发实战:HTML 5 + CSS 3 + JavaScript + Webpack + React Native + Vue.js + Node.js 》
+

NT$ 624
《 全栈应用开发:精益实践 》
+

NT$ 791
《 Node.js硬实战:115个核心技巧 》
+

NT$ 896
《 Node.js+MongoDB+AngularJS Web开发 》
內容簡介:
全栈(Full Stack)是一种全新的以前端为主导的框架,框架选型聚焦在MEAN(MongoDB、Express、AngularJS、Node.js)上。选用MEAN全栈技术,可以快速地实现敏捷开发,尤其是到了产品的运营阶段,其优势表现得非常明显。本书主要介绍MEAN全栈技术,分为入门篇、基础篇和实战篇,入门篇对全栈进行了概述,基础篇重点介绍了全栈的四个主要技术,即MongoDB、Express、AngularJS、Node.js,实战篇则通过四个常用的实例来引导读者循序渐进地掌握全栈开发的思路。本书重在讲述全栈开发的思想,自始至终延续这样的一个主题:如何通过一种框架(MEAN全栈),将前端和后台(端)贯穿起来,让前端工程师快速上手。
關於作者:
和凌志,客座教授,工信部人才交流中心认证讲师;拥有十多年移动互联网开发经验,先后在 Siemens Mobile、 Flextronics 等欧美公司担任手机软件架构师。2014年, 为北京高校录制慕课“iOS企业级应用开发技术”。近几年,专注于全栈技术开发, 代表产品有点时APP ——轻量级知识分享平台。
目錄
目录
入门篇
第1章Bootstrap基础2
1.1概述2
1.2Bootstrap开发环境3
1.2.1Bootstrap的安装3
1.2.2Bootstrap的加载5
1.3Bootstrap 常用工具6
1.3.1Bootstrap代码编辑工具6
1.3.2Bootstrap设计工具Layout IT7
1.4Bootstrap 布局8
1.4.1HTML标准模板8
1.4.2自定义CSS10
1.4.3响应式布局的实现12
1.4.4禁用响应式布局16
1.5小结16
第2章JavaScript基础17
2.1概述17
2.2JavaScript 语法17
2.2.1变量中的声明与赋值18
2.2.2如何判断两个字符串是否相等19
2.2.3创建JavaScript对象的三种方法21
2.2.4函数声明与函数表达式23
2.2.5可立即调用的函数表达式25
2.2.6循环的实现27
2.2.7防止JavaScript自动插入分号28
2.2.8严格模式29
2.3如何运行与调试JavaScript代码30
2.3.1把JavaScript代码内嵌到HTML页面中30
2.3.2通过Node.js运行JavaScript代码31
2.4JavaScript的面向对象设计思想32
2.5JavaScript的异步编程模式33
2.5.1Promise对象34
2.5.2生成Promise实例对象34
2.5.3Promise原型方法35
2.5.4Promise的catch方法36
2.5.5Promise在Node.js中的应用37
2.6如何在HTML中嵌入JavaScript37
2.6.1<script>标签37
2.6.2<script>标签的位置38
2.6.3嵌入JavaScript代码与外部文件引用39
2.7JavaScript与JSON39
2.7.1JSON概述39
2.7.2什么是JSON40
2.7.3JSON语法规则40
2.8小结42
基础篇
第3章Node.js入门指南44
3.1概述44
3.2Node.js生态44
3.3Node开发环境的搭建45
3.4Node.js验证45
3.5第一个Node.js工程46
3.5.1创建Node.js工程46
3.5.2运行Node.js工程47
3.6Node.js的module应用50
3.7Node.js 编码规范52
3.8小结53
第4章Express后端框架54
4.1概述54
4.2第一个Express工程54
4.2.1Express工程的创建54
4.2.2Express的路由55
4.2.3Express的中间件56
4.2.4设置静态目录57
4.3Express中的Cookie与Session58
4.3.1Cookie是如何工作的58
4.3.2Session是什么58
4.3.3为什么需要Session59
4.3.4Session应用场景59
4.4Express中的网络请求方法59
4.4.1req.params60
4.4.2req.query61
4.4.3req.body61
4.4.4网络请求方法61
4.5Express中的GET与POST请求62
4.5.1GET请求62
4.5.2post请求62
4.6通过Express 实现登录页面63
4.6.1get请求验证66
4.6.2post请求验证68
4.7小结69
第5章Express的模板引擎70
5.1模板引擎概述70
5.1.1什么是模板引擎70
5.1.2模板引擎的选择71
5.1.3服务器端模板引擎71
5.2模板引擎的种类72
5.2.1模板引擎Jade72
5.2.2模板引擎Handlebars73
5.2.3模板引擎EJS73
5.3Express中的EJS73
5.3.1创建工程Express工程74
5.3.2引入工程的依赖包(dependency)74
5.3.3启动应用76
5.3.4EJS模板引擎的触发77
5.4小结78
第6章AngularJSGoogle前端框架79
6.1AngularJS概述79
6.2AngularJS 常用指令81
6.2.1AngularJS 指令概述81
6.2.2AngualrJS指令:ng-app81
6.2.3AngularJS指令:ng-init82
6.2.4AngularJS表达式82
6.2.5AngularJS指令:ng-model83
6.2.6ng-app与ng-model示例83
6.2.7ng-app与ng-model常见错误分析84
6.2.8{{ }}的应用85
6.2.9指令:ng-bind86
6.2.10指令:ng-click86
6.3AngularJS构建单页面应用86
6.3.1单页面应用的优势86
6.3.2轻松构建单页面应用88
6.3.3单页面应用的实现89
6.4AngularJS的加载93
6.4.1AngularJS的引用93
6.4.2加载AngularJS静态资源库94
6.5AngularJS 的注入94
6.5.1依赖注入94
6.5.2依赖注入的行内声明97
6.6AngularJS 的Module99
6.6.1AngularJS Module 概述99
6.6.2AngularJS的Module 应用100
6.7AngularJS 控制器102
6.7.1控制器命名方法102
6.7.2AngularJS 控制器的创建102
6.7.3AngularJS控制器的应用103
6.8AngularJS的数据绑定105
6.9$scope用法106
6.10小结109
第7章MongoDB文档数据库110
7.1MongoDB概述110
7.1.1MongoDB简介110
7.1.2MongoDB的历史110
7.1.3MongoDB的优势111
7.1.4MongoDB的安装111
7.1.5启动MongoDB112
7.2数据库存储机制112
7.2.1关系型数据库112
7.2.2NoSQL数据库112
7.3MongoDB数据结构113
7.3.1文档113
7.3.2集合114
7.3.3MongoDB存储格式BSON115
7.4Mongo Shell116
7.4.1Mongo Shell简介116
7.4.2运行Mongo Shell116
7.4.3Mongo Shell基本操作117
7.5MongoDB文档操作118
7.5.1创建一个文档118
7.5.2查询所有文档118
7.5.3查询某一个文档119
7.5.4文档的更新120
7.5.5文档的删除120
7.5.6删除集合121
7.6_id和ObjectId121
7.7MongoDB管理工具121
7.7.1MongoDB可视化工具Robomongo121
7.7.2Robomongo的安装122
7.8用mongoose操作MongoDB125
7.8.1mongoose概述125
7.8.2初识mongoose125
7.8.3mongoose的安装126
7.8.4mongoose连接数据库126
7.8.5Schema127
7.8.6Model及其操作127
7.9小结132
实战篇
第8章应用实例1用户管理134
8.1概述134
8.2实现的思路135
8.3Node.js工程结构135
8.3.1创建一个Node服务136
8.3.2构建index.html页面136
8.3.3构建AngularJS页面137
8.3.4构建controller数据138
8.3.5构建路由138
8.3.6连接MongoDB140
8.4简单的用户管理操作142
8.4.1增加一条记录142
8.4.2删除一条记录144
8.4.3编辑与更新一条记录146
8.4.4$set与$unset的应用149
8.5小结150
第9章应用实例2登录管理151
9.1概述151
9.2安装Express151
9.3创建Express工程151
9.4构建登录页面157
9.4.1构建登录的静态页面157
9.4.2构建路由159
9.4.3添加路由中间件161
9.5构建注册页面161
9.5.1静态页面的创建161
9.5.2构建注册页面的路由163
9.5.3添加路由中间件166
9.6小结166
第10章应用实例3记事本167
10.1概述167
10.2实现思路168
10.3构建AngularJS应用168
10.3.1控制器169
10.3.2模块171
10.3.3模板172
10.3.4布局模板172
10.3.5路由173
10.3.6工厂方法175
10.3.7页面跳转177
10.3.8$routeProvider180
10.3.9过滤器182
10.3.10$index的应用184
10.3.11控制器之间的传值185
10.3.12$rootScope185
10.3.13使用$watch监控数据模型的变化186
10.4创建Express工程189
10.5创建MongoDB190
10.5.1连接MongoDB190
10.5.2创建mongoose的model191
10.6创建RESTful API191
10.6.1GET请求191
10.6.2POST请求192
10.6.3查找指定的对象193
10.6.4更新194
10.6.5删除194
10.7构建MEAN工程194
10.7.1路由194
10.7.2构建动态页面196
10.7.3$http的应用196
10.7.4基于$http的工厂方法197
10.7.5RESTful API的调用198
10.7.6基于$resource的工厂方法199
10.7.7创建一条记录199
10.7.8查看记录详情201
10.7.9更新记录203
10.7.10删除记录206
10.7.11运行结果207
10.8小结208
第11章应用实例4商品管理210
11.1概述210
11.2实现思路211
11.2.1开发环境的搭建211
11.2.2创建Express工程211
11.2.3安装Monk212
11.3数据库管理212
11.3.1构建数据库模拟数据213
11.3.2通过Express创建访问数据库的API213
11.4重构页面219
11.4.1引入AngularJS219
11.4.2通过AngularJS重构首页220
11.4.3控制器的实现222
11.4.4when方法225
11.4.5$resource的调用225
11.4.6文档对象的创建226
11.4.7$location的应用233
11.4.8文档对象的编辑234
11.4.9$routeParams的应用242
11.4.10文档对象的删除243
11.5小结245
参考文献247
內容試閱
前 言
为何写一本全栈的书
为什么写一本以全栈为主题的书呢?这还得从我的工作经历说起。
在过去的十年,我一直从事与移动互联网相关的工作,从早期的手机软件开发到今天的移动应用,都离不开架构的支撑。在智能机出现之前,手机的软件架构群雄并起,各家手机厂商都在打造自己软件平台,直到iOS、Android、Windows Phone的出现,形成三足鼎立的时代。在经历了近五年的洗礼之后,进入移动互联网的巅峰时代。而今,iOS、Android两大平台平分天下。
开发一款移动互联网产品,从表面上来说,似乎只需要做一个APP,包括iOS和Android APP;其实,如果想让上线的产品运营起来,就没这么简单了。通常,一个活跃度很高的产品,都是一款具有生态系统支撑的平台,它包括。iOS APP、Android APP、微信公众号、PC网页、强大的后台管理,一个都不能少。如果采用传统的开发技术,打造这样的一款产品,需要组建一支十几人的开发团队,人员一多,沟通的成本可想而知。
移动互联网产品的一个最大特点是,一旦产品投放市场得到了用户的认可,其版本迭代更新非常之频繁。无形中,对团队的开发效率提出了更高的要求。
无论是iOS还是Android,APP原生开发模式的最大弊端是版本的迭代与升级的任务繁重。为了解决这个问题,才引入了HTML5的技术。从开发的技术工种来看,分为APP(iOS、Android)工程师、前端工程师、后端工程师。这三个角色中,前端工程师直接面向终端用户,是产品的门面起着一个桥梁的作用。如果后台选用PHP、Java之类的技术,前端工程师除了网页的制作之外,其他可做的非常有限,毕竟前端技术局限于HTML、CSS和JavaScript。因为角色的分工比较发散,以致开发效率难以提升。为了解决开发效率和运维灵活性的问题,我们希望从前端寻求到一个突破口。
众所周知,前端工程师身怀三大法宝:HTML、CSS和JavaScript。从编程语言讲,这些前端开发语言它既偏离APP的原生开发语言(Objective-C 或 Swift)语音,又与后台的开发语言(常用的Java)语音有着明显的差异。虽然JavaScript带有Java一词,但JavaScript与Java之间的关系如同雷锋与雷峰塔之间的关系,二者相去甚远。那么,有没有一种框架可以让前端开发人员通吃后台呢?
一个偶然机会,我接触到了全栈(Full Stack)的概念,并瞬间被它的理念所吸引。这里说的全栈,不是传统的LAMP(Linux、Apache、MySQL、PHP),而是一种全新的以前端为主导的框架,所谓大前端、全端,就是指的是以前端为核心的框架。最终,我把框架选型聚焦在MEAN(MongoDB、Express、AngularJS、Node.js)上。MEAN全栈技术框架所用到的每个组件(MongoDB、Express、AngularJS和Node.js),都是基于JavaScript开发语言的。原本JavaScript是为网页设计的语言,但自从有了Node.js之后,JavaScript的春天来了,前端工程师也可以写后台了。Node.js让前端开发像子弹一样飞!
开发一个产品之前,我们总会纠结应该选择怎样的技术框架。的确,框架的选型很重要,它直接决定了这个产品未来的走向,技术的选择需要考虑几个主要因素,其中包括自身所掌握的技能、软硬件环境、生产环境的部署、产品上线后的运维等。
选用MEAN全栈技术,可以快速地实现敏捷开发,尤其是到了产品的运营阶段,其优势表现得非常明显。我们知道,今天的任何一款移动互联网产品,离不开微信公众号的推广,大多出彩的产品,在它的微信公众号内,所展示的是一套完整的业务逻辑,而不是几个简单的页面。这就是说,一个运营成功的产品,对前端技术的依赖非常之高,更何况APP也可以采用混合开发模式(Native HTML5)。
全栈工程师并不是全能工程师,它是通过一种全栈的框架,从繁重的技术中解脱了出来。正所谓:工欲善其事,必先利其器。这里的器,就是全栈框架,具体到这本书所推荐的,就是MEAN全栈框架。
尽管前端技术琳琅满目,但全栈框架少之又少,本书以MEAN为主线,
践行全栈之路
用了MEAN全栈,它到底能带来什么好处呢?这里,以我们发布的一款产品点时为例。点时APP是一款轻量级的知识分享平台,以语音分享为主。这样的一款产品,从生态上讲,该平台包括:iOS APP、Android APP、微信、后台的课程发布与运维管理。传统的做法是项目开发组分为前端与后台两套人马,因为进度不一,要么前端等后端,要么后端等前端,而我们采用的是MEAN全栈架构,不再区分前端与后台,开发效率明显提升。用了MEAN全栈框架,它带来的最大好处是减少了前、后端之间的依赖。
读者对象
这是一本讲述MEAN全栈入门的书,而但不是一本从入门到精通的书。MEAN全栈蕴含的组件知识点有多个,每一个组件知识点都可以独立成书。书中的每一个知识点都是为后面章节中的实例铺垫的,泛泛的基础知识不在本书讲解范围之内。
本书自始至终延续这样的一个主题:如何通过一种框架(MEAN全栈),将前端和后台(端)贯穿起来,让前端工程师快速上手。
MEAN全栈技术涉及的技术点很多,它是前端(Front-end)技术向后台(Back-end)的延伸。只有具备了前端的基础,才能更好地理解全栈架构的思想。如果尚未接触过HTML、CSS、JavaScript,那么,有必要恶补一些前端的基础知识。
具体来说,这本书适宜的读者有:
想学前端技术的APP(iOS、Android)开发工程师。随着APP多年的发展,APP的优势和短板日益明显,原生技术无法解决的问题,需要前端技术(HTML5)来弥补,二者结合相得益彰,所以混合开发模式越来越受欢迎。如果一个APP开发工程师同时具备了原生与全端的技能,由单翼变成了双翼,其技术路线的前景将越来越广!
想学习后台技术的前端工程师。传统的互联网开发,分为前端和后台,在职场上也就出现了前端工程师和后端工程师。借助Node.js平台和Express后端框架,前端工程师可以无缝地延伸到后台技术。
如何阅读本书
既然是全栈技术,其蕴含的知识点无疑有多个方面。为此,本书身分为入门篇、基础篇、实战篇。
入门篇:
这里没有讲述HTML的基础,也没有谈论CSS概念,而是直接切入CSS框架,一款主流的CSS框架Bootstrap。在我所经历的互联网项目中,Bootstrap是应用最为广泛的。这里还讲述了JavaScript特有的编程模式函数表达式与函数式编程,在Node.js开发中,JavaScript把这些特有的闪光点发挥得淋漓尽致。MEAN全栈中所用到的数据交互格式和存储格式均为JSON,学习全栈技术,必须掌握JSON的应用。MEAN全栈中所用到的数据格交互和存储格式JSON,因为其重要性而占用了独立的一章。
在入门篇中,没有讲述jQuery技术及其AJAX,这是因为,在MEAN全栈框架中用到的AngularJS前端框架本身就兼具jQuery和AJAX的功能。
基础篇:
从这篇开始,我们将正式进入Node.js的世界。尽管Node.js功能很强大,但其生态系统的构建还要借助于Express、AngularJS、MongoDB以及模板引擎。
在市面上,我们会看到很多权威指南系列的书,比如Node.js权威指南、AngularJS权威指南、MongoDB权威指南。这些书对每一个专业技能都讲得很透,但很少谈及它们之间的关系。既然Node.js可以独立存在,而Express是基于Node.js之上的后端框架,对初学者来说,我们更希望在Express基础之上开发。
那么,我们为何选用AngularJS呢?在吹响全端号角的今天,我们越来越强调前端框架的重要性。在前端的世界,AngularJS可谓玉树临风。在MEAN全栈中,Node.js和Express负责后端处理,而与网页交互的正是AngularJS。因此,可以想象AngularJS在本书中所占比重之高。
关于AngularJS,这里要特别说明一点:本书讲述的AngularJS、示例中所引用的AngularJS均为1.x版本,具体来说是1.4.6版本。AngularJS最新版本是2.x。或许读者产生疑问,为何不用AngularJS最新的2.x版本呢?这是因为,它的2.x并不是在原有1.x上的升级,而是一个全新的版本。二者谈不上兼容之说。业内普遍认为,AngularJS 1.x版本更成熟、应用更广泛、可参考的资料更多。在项目开发时,选择一个成熟的框架,十分重要!
把MongoDB数据库应用到MEAN全栈中,可谓相得益彰。通过MongoDB,你会对全栈开发有一个完整的、全新的认知。
实战篇:
学习一门编程技术,最有效的途径还是实践。对于书中出现的每个知识点,都辅以相关的代码实例。每个篇章中的实例都不是独立的,而是沿用延从易到难的线索。
实战篇演示了四个实例,每个实例并不是独立的,从知识衔接上看,是一环扣一环的。通常,一个完整的应用包括:数据与页面之间的绑定、网络请求、路由的分发、数据库的增删改查。我曾试着通过一个完整的应用讲述以上知识点,发现越到工程的后期越发臃肿,前后逻辑关系太复杂,以至于理解起来破费周折。最终采取一个折中的方案:借用国外网站的经典MEAN全栈的示例,在原示例的基础之上,对一些不易理解的地方,添加了补充的知识,正所谓见招拆招。
实战篇中示例,都是基于MEAN全栈的演练,只是侧重点有所不同,每个示例均附有完整的工程源码。
本书的源码
在学习本书示例代码时,可以按照书中讲解的步骤,一步一步地手工敲入所有代码,也可以下载随书所带的源码,本书所有的源代码都可以从GitHub下载。
源码下载地址:为https:

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.