加载中...

泠落の小屋
首页项目归档照片墙音乐杂谈工具箱关于
文章

Day 9

2026-09-03 23:14

Day 9

https://www\.yuque\.com/guluguluwater\-qkq0t/fo3vhf/mbyqmeg3qizqlf4u

项目前置知识课研读



  1. 模块——声明自己的能力;明确自己依赖谁;对外暴露接口,隐藏实现细节 文件只关心依赖什么,但是依赖如何加载、什么时候执行不管

  2. CommonJS:Node.js默认模块方案,适合后端服务环境 ES Module:前端工程核心,是浏览器官方标准,现代前端工程的基础

  3. webpack:核心思想为一切皆模+提前打包 开发前把整个项目一次性打包成浏览器可以直接运行的文件 特点:稳定,通用,可控

启动 dev server ——>从入口文件开始——>递归分析所有依赖——>打包成 bundle——>浏览器加载 bundle

  1. Vite:利用浏览器原生ES Module,把打包操作进行拆解 没有一次性扫描整个项目,没有完整打包,使用多少模块处理多少模块

  2. dev和build本质在干什么: dev(开发态):马上看到效果,不追求最终体积、兼容。优先开发体验 build(生产态):让代码在用户机器上稳定、快、可部署

  3. 脚手架的作用: 选好了工程默认答案;搭建好了正确的目录结构;把容易出错的初始化工作封装避免出错

  4. 浏览器发送请求详解: JS 调用 Web API——>浏览器发起 HTTP 请求——>网络层传输(TCP / HTTPS)——>服务器处理并返回响应——>浏览器解析响应——>JS 拿到结果(Promise)

  5. fetch的定位=>浏览器原生提供的最底层请求能力 (浏览器自带,返回Promise,不做额外处理)

  6. axios的定位=>站在项目角度,对请求过程的二次抽象 默认提供自动JSON转换,同意请求/相应结构,更有好的错误处理,请求配置的集中管理

  7. 拦截器:在请求发出之前/响应到达之后,统一插一层逻辑 (把横切逻辑从业务代码中抽离) 请求拦截器:解决请求之前的统一问题,(eg:统一加鉴权信息,设置公共请求投,请求参数统一格式化,统一处理loading) 响应拦截器:解决请求之后的统一问题(eg:接口成功/失败的统一判断,后端状态吗统一处理,统一错误提示,登录失效统一跳转)

  8. 封装请求的原因:统一行为,统一规范,降低业务代码复杂度

  9. 处理冲突的思路:先弄清楚双方各自改了什么;判断最终项目应该保留什么;手动修改成正确版本再进行提交

  10. 从主干拉代码——>创建自己的功能分支——>本地开发、反复 commit——>push 到远程分支——>发起 PR / MR——>评审 & 修改——>合并进主干

  11. ESLint:约束代码是否符合约定和最佳实践 Prettier:只负责格式,不关注逻辑正确性

  12. husky:在某些关键节点,自动执行检查

  13. TS = JS + 类型系统 + 编译检查

  14. interface:推荐给对象=>对象结构 type:推荐给组合=>联合/映射

avatar

泠落

街喧闹,人过往,且记曾相识,不为少年留

Recent Records

Day14

2026-09-09 01:55

Day13

2026-09-08 00:31

Day12

2026-09-08 00:22

Table of Contents