更改后,Snowpack 开发服务器不会重新编译 node_modules 中的文件

Posted

技术标签:

【中文标题】更改后,Snowpack 开发服务器不会重新编译 node_modules 中的文件【英文标题】:Snowpack dev server is not recompiling files in node_modules when changed 【发布时间】:2021-03-03 11:46:39 【问题描述】:

我有一个从空白模板开始的积雪项目。我的 index.js 文件从我正在开发的另一个模块中调用一个函数,该模块已使用 npm link 安装。

当我在另一个模块中更改文件时,它不会在 snowpack 中更新。即使我重新启动开发服务器,它也不会更新。我必须使用 --reload 参数重新启动 snowpack 以清除缓存。

我如何确保对 node_modules 中的文件所做的更改能够被 snowpack 识别并重新构建?

【问题讨论】:

【参考方案1】:

不幸的是,Snowpack 的工作方式是缓存 node_modules 依赖项并且很少重建它们。

在文档部分Using NPM Dependencies

    由于您的依赖项很少更改,Snowpack 很少需要重新构建它们。

每个构建工具都有其优点和缺点,Snowpack 不适合你,在这种情况下你仍然需要更新链接的依赖项。

您可能想查看其他构建工具,例如 Webpack。 Here 是正确配置 Webpack 以仅监视链接依赖项的堆栈溢出答案。

好像连Parcel 2 doesn't detect changes in linked dependencies.

【讨论】:

【参考方案2】:

您可以删除 node_modules 文件夹中的 .cache/snowpack 以进行重建。更简洁,您可以删除要使其重建的特定文件夹,这是我发现的唯一有效的方法。

【讨论】:

以上是关于更改后,Snowpack 开发服务器不会重新编译 node_modules 中的文件的主要内容,如果未能解决你的问题,请参考以下文章

snowpack 入门

更改后,QT QML资源文件不会重新编译

我可以在 Snowpack 开发服务器中启用目录列表吗?

App.config 中的更改不会在重新启动应用程序后反映出来

在文件更改时自动重新编译和重新加载服务器

.NET Core 3.0:Razor 视图不会在更改时自动重新编译