Skip to content

yalc

统计信息:字数 2564 阅读6分钟

在组件依赖开发中,我的项目作为依赖库没方法独自间接运行,须要依赖进别的我的项目执行,这时候最罕用的形式就是npm link。但用npm link引入的依赖因为资源文件不在我的项目下,webpack不会对其做预编译,导致理论构建或者运行时会报错,此时如果间接将文件复制进依赖目录则能失常运行。对于这样的状况,意外的碰到了一个很适宜的解决方案——yalc。

Yalc

yalc 能够在本地将npm包模仿公布,将公布后的资源寄存在一个全局存储中。而后能够通过yalc将包增加进须要援用的我的项目中。

这时候package.json的依赖表中会多出一个file:.yalc/...的依赖包,这就是yalc创立的非凡援用。同时也会在我的项目根目录创立一个yalc.lock确保援用资源的一致性。因而,测试完我的项目还须要执行删除yalc包的操作,能力失常应用。

整个过程绝对于npm link会更加繁琐一些,要通过发包、增加依赖,完结后也须要做革除操作,但也正因而才防止了npm link的一些问题。

装置

NPM:
npm i yalc -g

Yarn:
yarn global add yalc

公布依赖

在所开发的依赖我的项目下执行公布操作

yalc publish

此时如果存在npm 生命周期脚本:prepublishprepareprepublishOnlyprepackpreyalcpublish,会按此程序逐个执行。如果存在:postyalcpublishpostpackpublishpostpublish,也会按此程序逐个执行。

想要齐全禁用脚本执行须要应用

yalc publish --no-scripts

此时就曾经将依赖公布到本地了。

增加依赖

进入到我的项目执行

yalc add 我的项目名

能够看到我的项目中增加了yalc.lock文件,package.json对应的包名会有个地址为file:.yalc/结尾的我的项目。 也能够应用

yalc add 我的项目名@版本号

将版本锁定,防止因为本地新包推送产生影响。

--dev将依赖增加进dependency中。--pure不会影响package.json文件。

除此之外,还能应用link形式援用依赖包。

yalc add 我的项目名 --link

更新依赖

当有新批改的包须要公布时,应用推送命令能够疾速的更新所有依赖

yalc publish --push

或是简写

yalc push

移除依赖

yalc remove 我的项目名

或是移除所有

yalc remove --all

Last update: November 9, 2024