首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack的node_modules缓存在yalc.lock更改时失效

Webpack的node_modules缓存在yalc.lock更改时失效
EN

Stack Overflow用户
提问于 2022-05-14 19:26:24
回答 1查看 608关注 0票数 4

我有两个项目:应用程序和图书馆。应用程序依赖于图书馆。我同时使用yalc,以便在更新Library时,它将更新App/node-模块/Library。

不幸的是,Webpack积极地缓存node_modules,而且它不会对App/node-模块/库进行更改。重新加载应用程序没有帮助,甚至没有杀死手表并重新启动它,因为它将缓存保存在文件系统中。我在某个地方读到,对package-lock.jsonyarn.lock的更改会使它们失效,但是yalc有自己的单独锁文件。

什么起作用:

false.

  • Setting

  • cache设置为[].

  • Stopping snapshot.managedPaths,删除Webpack缓存并重新启动.

不起作用的是:

  • cache.buildDependencies添加yalc.lock。(它会导致重建,但仍然使用缓存的node_modules.)

是否有任何方法配置Webpack,以便在对node_modules进行更改时使其yalc.lock缓存失效?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-23 06:06:29

在这种情况下,只要对库进行更改并使用yalc发布它,就需要在package.json中更改它的package.json

如果您在每个yalc publish --pushyalc push上保持库的版本相同,那么无论您在库中更改了什么,或者使用完全不同的功能进行更新,直到您重新启动服务器,它才会得到反映。它将继续使用那些缓存内存。

Webpack在它的package.json中寻找每个依赖项的版本,如果它找到相同的版本,它将使用缓存的资产来构建,不管你在里面改变了什么。您将在导入的依赖项中找到更新的内容,但更改不会出现。

您必须更改包版本,以便Webpack能够跟踪更改并有效地使用缓存的资产。包版本的更改将导致在不重新启动服务器的情况下使用更新的代码的依赖关系。

--这是Webpack提高构建速度以尽可能快地为应用程序服务的方法之一--。如果您在应用程序中使用任何带有YALC、every或NPM的本地包或库,请确保在每个发布的上更新其版本。

与您的库一起更改版本,而发布库是迄今为止唯一复杂的方法。

为了更好地理解,您可以检查Webpack是如何使用依赖关系图构建模块的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72243290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档