代码工程化问题
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、软链接可以跨文件系统,硬链接不可以;

相关内容

热门资讯

山水皆有情!丽江两山一江的千年... 去过丽江、走过虎跳峡的人,大概率都听过哈巴雪山和金沙江的传说。很多人站在峡谷之下,望着奔腾不息的金沙...
活力中国调研行丨“殷”你而来 ... 9月12日,游客在殷墟博物馆“甲骨文展厅”内参观。位于河南省安阳市的殷墟博物馆新馆是首个全景式展现商...
浦江之夜赴美好相逢,第37届上... 9月12日晚,黄浦江畔灯火璀璨,第37届上海旅游节大巡游在外滩中山东一路上演。不少观众早早便来到外滩...
美丽中国丨秋韵紫鹊界 梯田入画... 这是9月11日拍摄的紫鹊界梯田(无人机照片)。 金秋九月,湖南省娄底市新化县紫鹊界梯田稻谷渐次成熟。...
中国之巅奏响《共同的节日》,千... 千吨阻尼器,“迎世赛、游上海旅游节”。9月13日,由上海市文化和旅游局指导推出上海旅游·会客│巅峰之...