webpack资源热更新,关于访问更新的js资源路径问题

发布于 2022-09-04 15:48:56 字数 834 浏览 13 评论 0

目前在尝试webpack的热更新,使用的是webpack2,自己对其理解不深刻,所以先多说一下背景:

由于现在我生成的文件用了hash或chunkhash,并且自己写了一个插件每次webpack的时候自动更新html文件中引入的路径。

output: {
        path: path.join(__dirname, 'public/javascripts'),
        filename: 'output.[hash].js',
        publicPath:'http://localhost:7700/',
},

html中文件引入路径会被自动更新:

<script src="./javascripts/common.5b52a2495300fe7e9191.js"></script>
<script src="./javascripts/output.5b52a2495300fe7e9191.js"></script>

自己写的插件就是取得stats.compilation.chunks中的内容并且用文件读写正则替换的方式更新。

但是问题来了,如果我用热更新,发现没有生成对应的新文件,但是在插件中通过stats.compilation.chunks还是能取到内容的,所以我的js文件路径被更新到了一个实际上并不存在的值。

经过查阅发现webpack热更新的资源是在内存中的,如果这个时候用原来的js路径,却也访问不到更新内容。

我现在不知道如何访问这种热更新的资源。想知道热更新的时候路径该怎么写? 我也好配合修改自己的插件做自动化。

谢谢,不知道说明白了没有。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寒江雪… 2022-09-11 15:48:56

目前我发现,可能是需要另外使用react-hot-loader,现在还在研究中

没企图 2022-09-11 15:48:56

html-webpack-plugin 插件
这个插件就是为了将带有 hash 的 js 文件引入 html 模板中,具体的实现在 vue-hackernews 2.0 项目中用过。
踩这个答案的同学,自己可以去了解下这个插件:
“This is especially useful for webpack bundles that include a hash in the filename which changes every compilation.”

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文