本书以JavaScript语言为基础,以完整的网站开发流程为主线,介绍了一套针对Web项目的开发技术,比如使用Node.Js搭建服务器,使用NoSQL数据库管理数据,使用Vue.用js构建前端UI,用Nginx部署代码,用Git管理版本等。通过阅读本书,读者可以掌握从网站开发到网站上线的全过程。本书共分10章,涵盖了购买域名的主要内容、网站备案、Node.js安装、表达安装、Vue.js安装、前后端分离设计、网站需求设计、网站模块规划、服务器端开发、客户端用户界面开发、服务器端部署和网站上线等。本书通俗易懂,图文并茂,适合所有初级和中级Web开发人员阅读,特别适合想自己开发网站的非专业人士。此外,本书也是相关院校和培训机构学生难得的实践指南。
封面图
目录
- 前言
- 第1章 开发一个网站的准备1
- 1.1 如何从零开始建设一个网站1
- 1.1.1 网站建设流程1
- 1.1.2 网站开发技术和工具2
- 1.2 第一步:购买一个域名3
- 1.2.1 域名简介4
- 1.2.2 如何通过阿里云购买域名5
- 1.3 第二步:域名的备案和解析8
- 1.3.1 域名的实名认证和备案8
- 1.3.2 域名相关解析9
- 1.4 第三步:购买一台服务器10
- 1.4.1 云服务器10
- 1.4.2 服务器的后台管理11
- 1.5 小结与练习13
- 1.5.1 小结13
- 1.5.2 练习13
- 第2章 Node.js+Vue.js项目开发基础14
- 2.1 Node.js简介14
- 2.1.1 Node.js的前世今生14
- 2.1.2 在Windows中安装Node.js15
- 2.1.3 在Linux中安装Node.js18
- 2.1.4 第一个Node.js示例——Hello World20
- 2.2 Node.js后端框架Express21
- 2.2.1 Express的发展21
- 2.2.2 Express的安装23
- 2.2.3 Express项目示例——Hello World25
- 2.2.4 RESTful API规范25
- 2.3 页面显示框架Vue.js27
- 2.3.1 Vue.js简介27
- 2.3.2 Vue.js的安装28
- 2.3.3 用Vue.js编写Hello World——CDN方式29
- 2.3.4 用Vue.js编写Hello World——Webpack方式30
- 2.3.5 其他页面显示框架34
- 2.4 JavaScript代码编写——IDE的选择35
- 2.4.1 编写基础的JavaScript代码35
- 2.4.2 JavaScript开发利器——WebStorm37
- 2.5 小结与练习38
- 2.5.1 小结38
- 2.5.2 练习38
- 第3章 项目开发准备39
- 3.1 初识数据库39
- 3.1.1 数据库简介39
- 3.1.2 SQL数据库和NoSQL数据库40
- 3.2 MongoDB介绍41
- 3.2.1 为什么选择MongoDB42
- 3.2.2 在Windows中安装MongoDB43
- 3.2.3 在Linux中安装MongoDB44
- 3.3 Redis简介46
- 3.3.1 为什么选择Redis46
- 3.3.2 在Windows中安装Redis47
- 3.3.3 在Linux中安装Redis49
- 3.4 版本控制51
- 3.4.1 版本控制简介51
- 3.4.2 Git和GitHub简介51
- 3.4.3 安装和使用Git54
- 3.5 测试工具57
- 3.5.1 浏览器自带的开发者工具57
- 3.5.2 Postman插件59
- 3.6 小结与练习61
- 3.6.1 小结61
- 3.6.2 练习62
- 第4章 项目后台技术Express63
- 4.1 开发Express应用程序63
- 4.1.1 Express应用程序生成器63
- 4.1.2 Express提供的路由66
- 4.1.3 使用Express托管静态文件68
- 4.2 Express和数据库交互70
- 4.2.1 连接MongoDB数据库70
- 4.2.2 使用对象模型驱动连接MongoDB72
- 4.2.3 如何定义模型73
- 4.2.4 Node.js和Redis集成74
- 4.3 Express高级应用75
- 4.3.1 Express中的中间件75
- 4.3.2 Express错误处理79
- 4.4 小结与练习81
- 4.4.1 小结81
- 4.4.2 练习81
- 第5章 项目前端开发之Vue.js基础知识82
- 5.1 Vue.js开发基础82
- 5.1.1 安装Vue.js与Webpack82
- 5.1.2 Webpack常用配置详解85
- 5.1.3 Vue.js条件渲染89
- 5.1.4 Vue.js列表渲染90
- 5.1.5 Vue.js输入监听91
- 5.1.6 Vue.js事件处理——v-on绑定94
- 5.2 Vue.js的生命周期97
- 5.2.1 生命周期与钩子函数97
- 5.2.2 演示Vue.js的生命周期99
- 5.3 Vue.js的模板语法100
- 5.3.1 文本101
- 5.3.2 JavaScript表达式103
- 5.3.3 v-bind绑定动态属性104
- 5.4 Vue.js的组件化105
- 5.4.1 组件化简介105
- 5.4.2 组件的创建106
- 5.4.3 组件的注册106
- 5.4.4 组件间的数据传递109
- 5.4.5 监听子组件事件111
- 5.4.6 通过插槽分发内容114
- 5.5 小结与练习116
- 5.5.1 小结116
- 5.5.2 练习116
- 第6章 Vue.js高级应用117
- 6.1 Vue.js的vue-router库117
- 6.1.1 Vue.js的页面路由实现117
- 6.1.2 使用vue-cli初始化Vue.js项目118
- 6.1.3 安装和配置vue-router122
- 6.1.4 动态路由匹配123
- 6.1.5 路由嵌套126
- 6.1.6 路由跳转128
- 6.1.7 导航守卫131
- 6.2 Vue.js的状态管理库Vuex132
- 6.2.1 状态管理与store模式133
- 6.2.2 使用Vuex的情形133
- 6.2.3 在Vue.js组件中获取Vuex状态和Getter对象135
- 6.2.4 更新Vuex中的store138
- 6.2.5 Vuex模块的划分142
- 6.3 Vue UI库143
- 6.3.1 Element UI库143
- 6.3.2 Ant Design of Vue UI库144
- 6.3.3 iView UI库145
- 6.4 小结与练习146
- 6.4.1 小结146
- 6.4.2 练习146
- 第7章 项目需求分析和功能说明147
- 7.1 内容发布网站的需求分析147
- 7.1.1 系统设计需求和技术说明147
- 7.1.2 后端接口需求148
- 7.1.3 前端页面需求149
- 7.2 项目策划和功能设计150
- 7.2.1 项目功能策划150
- 7.2.2 项目模块划分150
- 7.2.3 项目后端API路由定义151
- 7.2.4 项目前端页面路由定义152
- 7.3 项目原型图和流程图153
- 7.4 小结与练习154
- 7.4.1 小结154
- 7.4.2 练习154
- 第8章 项目后端API开发155
- 8.1 开发前的准备工作155
- 8.1.1 初始化项目155
- 8.1.2 连接数据库156
- 8.1.3 配置服务应用列表161
- 8.2 通用API开发164
- 8.2.1 获取页面导航栏的API开发164
- 8.2.2 获取底部详细内容的API开发167
- 8.2.3 获取友情链接的API开发168
- 8.2.4 获取首页轮播图的API开发169
- 8.2.5 获取热点文章列表内容的API开发171
- 8.2.6 获取文章列表的API开发173
- 8.2.7 获取文章详情的API开发175
- 8.2.8 获取文章评论的API开发177
- 8.2.9 获取分类内容的API开发178
- 8.2.10 记录文章浏览量的API开发180
- 8.3 用户权限相关API开发182
- 8.3.1 用户模块开发前的准备工作182
- 8.3.2 用户评论文章的API开发183
- 8.3.3 获取用户资料的API开发185
- 8.3.4 修改用户资料的API开发187
- 8.3.5 发送私信的API开发189
- 8.3.6 获取私信列表的API开发191
- 8.3.7 获取私信的API开发192
- 8.3.8 用户注册的API开发194
- 8.3.9 用户登录的API开发196
- 8.3.10 文章分类列表的API开发199
- 8.3.11 文章“点赞”和“踩”功能的API开发201
- 8.3.12 文章收藏功能的API开发202
- 8.3.13 获取收藏文章列表的API开发203
- 8.4 后台管理相关API开发204
- 8.4.1 文章添加和修改的API开发205
- 8.4.2 文章发布和删除的API开发208
- 8.4.3 添加和修改分类的API开发210
- 8.4.4 获取全部用户列表的API开发211
- 8.4.5 封停用户的API开发213
- 8.4.6 修改首页轮播内容的API开发214
- 8.4.7 修改导航内容的API开发216
- 8.4.8 修改底部内容的API开发217
- 8.4.9 修改友情链接内容的API开发218
- 8.4.10 其他权限判断220
- 8.5 小结与练习221
- 8.5.1 小结221
- 8.5.2 练习222
- 第9章 前端页面开发223
- 9.1 项目前期准备223
- 9.1.1 创建新项目223
- 9.1.2 选择UI库224
- 9.1.3 安装HTTP请求库225
- 9.2 主要页面的开发228
- 9.2.1 主页228
- 9.2.2 文章总列表页235
- 9.2.3 文章分类结果页237
- 9.2.4 文章详情页239
- 9.3 用户相关页面及权限的开发244
- 9.3.1 登录页244
- 9.3.2 注册页247
- 9.3.3 用户信息页251
- 9.3.4 在导航栏中增加用户信息256
- 9.3.5 私信功能258
- 9.3.6 文章评论功能262
- 9.3.7 文章的收藏和点赞功能265
- 9.3.8 查看所有收藏267
- 9.4 管理员页面的开发269
- 9.4.1 管理员页面路由设置269
- 9.4.2 文章编辑页271
- 9.4.3 文章管理页275
- 9.4.4 用户管理页278
- 9.5 小结与练习280
- 9.5.1 小结280
- 9.5.2 练习280
- 第10章 网站的部署和上线281
- 10.1 远程连接服务器281
- 10.1.1 虚拟机简介281
- 10.1.2 虚拟机的安装282
- 10.1.3 远程连接云服务器或虚拟机288
- 10.2 搭建服务器部署环境290
- 10.2.1 配置pm2290
- 10.2.2 构建用于发布的Vue.js程序293
- 10.2.3 使用Nginx部署静态文件294
- 10.3 在服务器端部署代码295
- 10.3.1 服务器的防火墙设置295
- 10.3.2 使用Git部署代码296
- 10.4 网站优化常用方法299
- 10.4.1 优化应用299
- 10.4.2 使用nw.js打包项目300
- 10.5 小结与练习302
- 10.5.1 小结302
- 10.5.2 练习303
- 附录A 检测Node.js是否支持ES 6的语法304
- 附录B npm安装过慢的解决方法306