Published onOctober 29, 2025webpack中的loaderwebpackloader 是什么? 是一个文件处理器 为什么需要 loader? webpack本身只能处理 js 文件,而通过 loader 可以让 webpack 处理非 js 的文件(比如图片,css等),把它们变成可以识别和打包的模块。 它是如何工作的? 1. 匹配文件:在配置中定义规则(如 test: /\.css$/),指定哪些文件由 loader 处理。 2. 转换内容:loader 是函数...
Published onOctober 27, 2025Async/AwaitJavaScriptAsync/Awaitasync/await 是什么? "async/await 是 JavaScript 处理异步操作(如网络请求、文件读取)的"语法糖",它让我们能用写同步代码的方式写异步逻辑,避免层层嵌套的回调函数。 底层依赖 Generator 的暂停/恢复机制和 Promise 的状态管理,async 函数总返回 Promise,即使内部返回普通值也会被自动包装为 Promise.resolve(value)...
Published onOctober 27, 2025PromiseJavaScriptPromise什么是 Promise ? Promise 是 es6 提出的处理异步任务的"承诺容器"。它只有三个状态 pending,fulfilled,rejected,状态一旦从 pending 变成后面两个,就不会再发生变化了,支持链式调用,通过.then() 方法,可以将异步任务的结果参数传递下去,实现了更好的异步任务执行控制和错误处理。 为什么要有 Promise?解决了什么问题? 在 Promis...
Published onOctober 27, 2025前端路由JavaScriptRouter前端路由是什么? 前端路由能让浏览器不重新加载整个页面的条件下,通过改变 url 展示不同的组件,从而实现页面跳转的全前端(JavaScript)控制,是 SPA 的基础 为什么要有前端路由? 1. 传统后端路由,在跳转后会先白屏,等接口重新返回 html 后,才能正常展示,前端路由可以实现"无缝切换" 2. 降低了服务端压力,无需每个页面都重新请求页面资源(CSS/JS) 3. 支持复杂应用交互...
Published onOctober 25, 2025关于前端项目的思考对于某一类特定的需求,过于原子化的组件化开发方式并不能够彻底地解决开发效率问题,从抽象的业务需求中能够具象出较为通用的可插拔可组合的技术方案才是解决实际问题的终极答案。 下面给出几个常见场景 页面布局方案 1. 布局与路由的结合。如何实现不同路由不同布局?将布局组件作为传入不同的页面组件上 2. 页眉:应用层页眉(数据传递给外面,不接收外层传入的数据),页面层页眉(数据从外层传入) 3. 在企业管...