代码工程化问题
admin
2024-02-06 02:56:01

前端工程化之——代码规范五部曲

vue创建的步骤
vue init webpack aaa
vue create bbb

react项目的创建步骤
create-react-app

.editorconfig

.editorconfig
.vscode

esLint

.eslintrc
.eslintignore

hushy+Lint-staged+Commitlint

"husky": {"hooks": {"pre-commit": "lint-staged" // 在代码commit前执行将加入到stage暂存区的文件进行检查,按照"lint-staged"中的规则进行检查"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"}
}

monorepo

幽灵依赖

即某个包没有在package.json 被依赖,但是用户却能够引用到这个包。

依赖分身

相同的依赖只会在全局 store 中安装一次。项目中的都是源文件的副本,几乎不占用任何空间,没有了依赖分身。

npm

yarn

Yarn发布于2016年10月,并在Github上迅速拥有了2.4万个Star。而npm只有1.2万个Star。这个项目由一些高级开发人员维护.
它提供了离线模式.
内部依赖平铺到最外面一层,解决了上述嵌套方案的缺陷。

pnpm Store + Links

store: 将包安装在系统的全局 store 中,依赖的每个版本只会在系统中安装一次。
Links:
Hard link:
Symbolic link:
pnpm 的安装速度在大多数场景都比 npm 和 yarn 快 2 倍,节省的磁盘空间也更多。
pnpm=>解决问题:
依赖结构的不确定性。
扁平化算法本身的复杂性很高,耗时较长。
幽灵依赖
依赖分身

pnpm=>弊端:
由于 pnpm 创建的 node_modules 依赖软链接,因此在不支持软链接的环境中,无法使用pnpm,比如 Electron 应用。
因为依赖源文件是安装在 store 中,调试依赖或 patch-package 给依赖打补丁也不太方便,可能会影响其他项目。
因为使用 PnP 不会再有 node_modules 了,但是 Webpack,Babel 等各种前端工具都依赖 node_modules。虽然很多工具比如 pnp-webpack-plugin 已经在解决了,但难免会有兼容性风险。
PnP 自建了依赖解析器,所有的依赖引用都必须由解析器执行,因此只能通过 yarn 命令来执行 node 脚本。

linux 硬链接和软链接的区别和联系

1、软链接以路径的形式存在,硬链接以文件副本的形式存在;
2、软链接可以跨文件系统,硬链接不可以;

相关内容

热门资讯

六问稻城亚丁景区封堵省道收费 ... 近日,有博主发布视频称,四川省甘孜州稻城县稻城亚丁景区将S462省道纳入景区管控,强制游客乘坐收费摆...
原创 夏... 夏天湿热重、脾胃易虚寒,这4道汤健脾祛湿、暖胃护胃、清热不伤阳,适合连续两个月常喝,步骤清晰、做法简...
明日四月十六,记得“吃4样,做... 明日农历四月十六,记得“吃4样,做1事”五谷丰登迎福气,老传统别丢! 时光如梭,转眼间来到了农历四月...
今年目标全国销售网点突破200... 5月16日下午6点,贵阳市吾茶白·贵茶潮饮烘焙概念店里排起小队。 “就要这款,上次喝完一直惦记着。”...
原创 淄... 很多人认识淄博只靠烧烤但真正撑起淄博饮食底蕴的从来不是网红热度而是一代代扎根老城的老字号烟火。这些老...