我正在学习如何使用
yarn link
来处理一个包,并在主机应用程序中反映出变化,我要么没有得到某些东西,要么某些东西不起作用。
全部内置angular5..
我有一个应用程序 MyApp,其中包含
@org/my-package
在 node_modules
.
我需要更改我的包,为了提供更改,我使用
yarn link
创建符号链接并在 MyApp 中测试包。
这就是我所做的...
在我的包中,我运行一个构建。它创建分发文件。然后我进入dist包并运行
yarn link
..这是成功的..我得到了在MyApp cli中使用yarn link @org/my-package
的说明..
然后我转到 MyApp,然后运行
yarn link @org/my-package
。这也是成功..
然而,当我在我的包中进行更改并再次运行构建时,它们不会反映在 MyApp 中。
我不明白什么?
我没有错误。
MyApp 中的
@org/my-package
中的node_modules
应该存在还是不存在? my-package 中 dist 上的 yarn link
不是要覆盖那个吗?
无论我搜索多少,看起来 yarn 文档在这个主题上都有点浅显易懂。
我遇到过类似的问题。但是我所做的是将依赖于组件库的项目中的 package.json 编辑为例如 "@org/my-package": "link:../packages/dist/my-package" (编辑路径)这只适用于 yarn,如果你使用 npm,这不是一个选项,但你可以使用 npm link。
之后我必须在项目中安装 yarn。因此,当您重新构建 my-package 时,MyApp 中 node_modules 中的 @org/my-package 应该被更新。
删除 node_modules 并重新安装所有软件包并重置
yarn link your_local_package
对我来说很好。
我也有这个问题
当我更新我的库时,它没有反映在我的主项目中,我查看了模块内部,有我的包,一切都很好,一切都更新了,没有任何问题,那时我决定删除
angular\cache
文件夹,那是它起作用的时候,在 angular.json 中尝试这个设置,它对我有用
"cli": {
"cache": {
"enabled": false
}
}