随笔分类 -  前端工程化

摘要:介入webpack 的打包流程,将某个包给mock 掉 在某些情况下,我们对于包的体积比较敏感,某些第三方的包引用了其他第三方的包,而且第三方的包不支持摇树,我们希望在打包的时候将第三方包所依赖的第三方包给去除掉,因为那部分功能我们并不使用。思路是采用mock 的方式,将第三方的第三方包给去除。 被 阅读全文
posted @ 2025-03-01 17:05 kongshu 阅读(1) 评论(0) 推荐(0) 编辑
摘要:monorepo中如何共享bundle 在monorepo中的多个app,由于它们的npm 包都是在最顶层的workspace 管理安装的,在编译各个子应用的时候,为了节省bundle的大小,如何才能将每个应用中公用的vendor bundle 抽出来。本篇就是基于此对webpack的一些探讨 借助 阅读全文
posted @ 2025-02-20 21:02 kongshu 阅读(2) 评论(0) 推荐(0) 编辑
摘要:Fast 中的 Decorator 在 typesciprt 及 js 中的差异 结论 ts 中约定属性的装饰器语法只有两个参数type PropDecorator<T> = (target: T, key:string):void; 而在 js 中旧的装饰器的语法var type PropDeco 阅读全文
posted @ 2025-02-18 10:31 kongshu 阅读(6) 评论(0) 推荐(0) 编辑
摘要:csp 的条件下对于懒加载的影响 本文介绍在开启CSP的条件下,webpack 的懒加载会受到的影响。 Trusted Types 简单的说就是在使用Trusted Types的条件下,对于 DOM 的一些属性的赋值,必须要经过 policy,否则,浏览器会报错。这个安全机制是为了防止 XSS 攻击 阅读全文
posted @ 2025-01-20 20:56 kongshu 阅读(3) 评论(0) 推荐(0) 编辑
摘要:Webpack 打包实战 本文从一个简单的例子出发,比较一下,我们的代码经过webpack 打包后会变成啥样,带有HMR的情况下,会有什么不同 我们的代码 // index.js import {greeting} from './moduleA' let cleanup=null; functio 阅读全文
posted @ 2024-08-04 15:58 kongshu 阅读(46) 评论(0) 推荐(0) 编辑
摘要:介绍一下webpack hmr相关的API webpack首先将模块变成对象的一个属性,该属性是一个方法,调用它就返回最新的模块。模块的变更就变成了更新这些方法的定义。其次,webpack对于我们代码的import,做了拦截,会变成从它的模块对象里面去读取模块,同时它做了缓存。最后,当模块变化的时候 阅读全文
posted @ 2024-08-04 14:32 kongshu 阅读(14) 评论(0) 推荐(0) 编辑
摘要:single-spa 源码解析 single-spa是一种微前端的实现方案。阿里的qiankun其实是基于这个项目做了二次开发,其实是做了个拓展,提供了html解析与js沙盒两个功能。本文从single-spa的代码实现角度解析一下它的实现原理。 前提假设 single-spa首先要求每个子应用需要 阅读全文
posted @ 2024-08-01 16:03 kongshu 阅读(158) 评论(0) 推荐(0) 编辑
摘要:BaseHref 以及前端路由的问题 Base Href 是什么? MDN, 说的直白一点就是,这个站点里面所有的访问主站的资源文件,都会在路由前面加上这个base href,包括*js,scss,image,ajax,......**。 如果一个DOM 里面有多个这样的base,只有第一个会起作用 阅读全文
posted @ 2024-06-20 23:12 kongshu 阅读(39) 评论(0) 推荐(0) 编辑
摘要:qiankun 中的文件路径问题 qiankun 中entry 为什么是长这样//hostname/subpath/? import-html-entry中,采用了new url(entry,window.location);, 详细参考 MDN,简单说,它会采取当前的网络协议(http:/http 阅读全文
posted @ 2024-01-15 15:37 kongshu 阅读(149) 评论(0) 推荐(0) 编辑
摘要:如何看待d.ts 这个是typescript的类型文件,tsc 编译器会产生这个文件,我们也可以手动的编写这个文件,这样可以在不重新编写js的前提下,还能享受到ts带来的好处 vscode 编译器的智能提示也是依靠这个文件 vscode 的只能提示是如何找到类型信息的 首先ts工程下的所有d.ts都 阅读全文
posted @ 2023-11-24 22:24 kongshu 阅读(22) 评论(0) 推荐(0) 编辑
摘要:# 手撸一个js 的npm 包 ## 打包后的格式 ### commonjs vs esmodule vs AMD vs IIFE vs UMD - commonjs 早期社区js模块化的一种方式,适用于nodejs端,为了能够在浏览器中运行,可以借助[Browserify](https://bro 阅读全文
posted @ 2023-07-15 16:25 kongshu 阅读(110) 评论(0) 推荐(0) 编辑
摘要:微前端中路由的跳转 针对基座与子应用都是Angular 的场景,实现应用间的路由跳转 基座往子应用的跳转 首先在路由中要定义一个空组件来承接子路由,可以在基座路由表中添加如下路由 { path: 'subapp', children: [ { path: '**', component: Empty 阅读全文
posted @ 2023-05-18 16:20 kongshu 阅读(339) 评论(0) 推荐(0) 编辑
摘要:ng-package 文件的作用 什么是ng-package,它有什么作用 这个文件告诉Angular,这个目录里面的是一个Angular library。编译后该library 将会只有一个文件生成(fesmxx文件夹里面)。也就是说将这个文件夹下面的library打包成一个文件输出。 它与pac 阅读全文
posted @ 2022-04-23 08:46 kongshu 阅读(176) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示