目录 第1章概述1 1.1Web 应用程序工作原理2 1.2客户端技术3 1.3服务端技术4 1.4开发工具4 1.4.1Chrome4 1.4.2Visual Studio Code5 客户端技术篇 第2章HTML基础9 2.1HTML文档的基本结构9 2.2HTML元数据11 2.3HTML常用元素11 2.4字符实体13 2.5相对路径13 2.6综合示例——HTML常用元素14 2.7HTML表单元素16 2.8综合示例——表单元素18 2.9小结20 第3章CSS基础21 3.1CSS基本语法21 3.2引入外部样式表22 3.3CSS选择器22 3.3.1CSS基本选择器23 3.3.2CSS基本选择器的组合27 3.4样式声明优先级28 3.5常用CSS属性29 3.5.1颜色、方位与长度单位29 3.5.2盒模型31 3.5.3元素背景35 3.5.4文字样式36 3.5.5元素的显示模式38 3.5.6弹性框布局40 3.5.7网格布局45 3.5.8元素定位48 3.5.9元素浮动51 3.5.10元素的叠放层次53 3.5.11其他属性53 3.6综合示例55 3.6.1页面版块划分56 3.6.2编写代码56 3.7小结58 第4章CSS进阶59 4.1圆角效果59 4.2阴影效果60 4.3溢出61 4.4CSS自定义属性63 4.5calc()函数64 4.6伪元素64 4.7矢量图标65 4.8过渡与动画67 4.8.1过渡67 4.8.2动画68 4.9变换70 4.9.1旋转70 4.9.2缩放72 4.9.3倾斜73 4.9.4平移73 4.10综合示例——弹出式下拉菜单74 4.11响应式网页设计77 4.11.1一般编码建议79 4.11.2响应式图像80 4.11.3媒体查询83 4.12前端UI框架85 4.12.1Bootstrap 入门85 4.12.2Bootstrap 布局类样式88 4.12.3Bootstrap 基本元素样式89 4.12.4Bootstrap工具类样式90 4.12.5Bootstrap 组件92 4.12.6Bootstrap 图标库94 4.13CSS预处理器95 目录〖3〗第5章JavaScript基础98 5.1数据类型与数据声明100 5.1.1基本数据类型100 5.1.2数据声明101 5.1.3常用引用类型103 5.2基本类型与引用类型105 5.3基本运算与操作108 5.3.1运算符108 5.3.2基本操作113 5.4控制语句123 5.4.1语句块124 5.4.2分支语句125 5.4.3循环语句131 5.4.4异常的抛出与捕获136 5.5函数137 5.5.1函数的基本概念137 5.5.2关于函数的更多细节139 5.5.3闭包函数142 5.5.4lambda表达式143 5.5.5函数的递归调用144 5.5.6全局函数147 5.6对象和类148 5.6.1对象148 5.6.2类153 第6章JavaScript 进阶159 6.1正则表达式159 6.1.1模式符号160 6.1.2匹配标志163 6.1.3应用场景163 6.2程序的异步执行164 6.2.1JavaScript中的异步回调167 6.2.2Promise168 6.2.3async/await172 6.3模块化实践174 6.3.1export/import175 6.3.2命名导出与默认导出176 6.3.3模块的合并与动态加载177 6.4Reflect177 6.5Proxy179 6.6JSON180 第7章浏览器对象模型与文档对象模型182 7.1浏览器对象模型182 7.1.1window183 7.1.2frames184 7.1.3history185 7.1.4location185 7.1.5navigator186 7.1.6screen188 7.1.7localStorage188 7.1.8sessionStorage189 7.1.9cookie189 7.2文档对象模型189 7.2.1获得元素的引用191 7.2.2设置元素样式192 7.2.3创建与移除元素194 7.3事件处理机制197 7.3.1事件分发197 7.3.2事件监听与处理199 7.3.3事件对象200 7.4深入文档对象模型201 7.4.1Node202 7.4.2Document203 7.4.3Element203 7.4.4HTMLElement204 7.4.5NodeList和HTMLCollection205 7.4.6表单元素205 第8章Vue.js 基础207 8.1MVC与MVVM207 8.2Vue.js入门209 8.3模板语法210 8.3.1文本绑定210 8.3.2表单绑定211 8.3.3属性绑定211 8.3.4事件绑定212 8.3.5样式绑定213 8.3.6条件渲染214 8.3.7列表渲染214 8.4计算属性与侦听器215 8.5生命周期钩子217 8.6综合示例218 服务端技术篇 第9章构建服务端程序223 9.1Node.js 基础223 9.1.1搭建开发环境223 9.1.2创建 Node.js项目224 9.1.3调试服务端程序224 9.1.4Node.js 模块226 9.2构建Web服务端程序227 9.3HTTP 报文228 9.3.1HTTP 请求方法229 9.3.2HTTP 回应状态码229 9.3.3ContentType 字段230 9.4Express231 9.4.1创建服务端程序232 9.4.2中间件233 9.4.3托管静态资源236 9.4.4Request 对象236 9.4.5Response 对象239 9.4.6Router 对象241 9.5服务端渲染243 9.6异步通信技术245 9.7文件上传248 9.8综合示例250 9.8.1服务端程序250 9.8.2客户端程序252 9.8.3小结256 第10章数据库交互技术257 10.1创建示例数据库257 10.2数据库交互258 10.3参数化语句259 10.4数据库连接池261 10.5封装数据库操作262 第11章鉴权机制266 11.1HTTP 基本身份认证266 11.2sessioncookie268 11.3Token270 11.4OAuth276 第12章服务端推送技术281 12.1轮询281 12.2长轮询282 12.3SSE283 12.4WebSocket285 12.4.1浏览器端 WebSocket285 12.4.2μWebSockets.js286 12.4.3Expressws288 12.4.4Socket.IO288 第13章Web服务端进阶话题293 13.1跨站脚本攻击293 13.2跨域资源共享294 13.3反向代理296 13.3.1Nginx 基础296 13.3.2Web服务配置297 13.3.3托管静态资源299 13.3.4负载均衡300 13.3.5HTTPS 配置301 13.4Node.js 进程管理302 技术拓展篇 第14章使用Vue.js开发单页面应用307 14.1创建脚手架项目307 14.2Vue.js 单文件组件308 14.3项目构建与部署311 14.4第三方工具312 14.4.1Yarn312 14.4.2Babel312 14.4.3ESLint313 14.4.4Webpack313 14.5组合式 API315 14.6响应性 API318 14.7Vue Router321 14.7.1路由基础321 14.7.2嵌套路由324 14.7.3路由组件传参326 14.7.4从服务端获取数据328 14.7.5编程式导航329 14.8状态管理330 14.8.1引例330 14.8.2Pinia 核心概念333 第15章移动端应用开发336 15.1开发环境搭建337 15.1.1Android App开发环境337 15.1.2iOS App开发环境338 15.2创建与配置Capacitor项目339 15.3使用插件与原生 API 交互341 15.4构建与签名App343 15.4.1使用Android Studio构建与签名Android App344 15.4.2使用Xcode构建与签名 iOS App345 第16章微信小程序开发347 16.1创建微信小程序项目348 16.2微信小程序项目结构349 16.3综合示例 ——个人相册353 16.3.1数据存储模块354 16.3.2相册首页355 16.3.3添加新图片356 16.4发布微信小程序358 第17章桌面端应用开发359 17.1创建Electron项目359 17.1.1创建程序首页360 17.1.2启动主进程360 17.2主进程与渲染进程间通信361 17.2.1ContextBridge361 17.2.2使用IPC通道363 17.3调试Electron项目366 17.4构建Electron项目368 17.5综合示例——计时器368 17.5.1Web程序部分369 17.5.2主进程程序部分371