gpt4 book ai didi

reactjs - 部署新的 Webpack 包会导致错误,直到页面刷新

转载 作者:行者123 更新时间:2023-12-03 13:27:45 25 4
gpt4 key购买 nike

我们使用 webpack 1.x 和 React 来捆绑我们的应用程序。此外,为了在 javascript 文件发生更改时破坏缓存,我们将输出设置在 webpack.config.js 中。如:

output: {
path: __dirname + '/dist',
filename: 'index_bundle.[chunkhash:10].js',
publicPath: '/'
},

这成功实现了我们在部署新版本应用程序时更改文件名的目标。成功部署后,人们可以看到新文件就在那里。

当用户在部署期间使用应用程序时,就会出现问题。突然间,曾经存在的 block 不存在了,虽然 index.html 成功更新,但浏览器当前正在使用的一些 block 对旧的、不存在的文件发出了错误的请求。

webpack 有传统的方式来处理切换吗?或者在我们的 React 应用程序中让它优雅地处理错误的组件导入。我们在 S3 上托管,它(就像 Meteor,我的印象是)在不存在的文件请求时回退到 index.html。在我们的应用程序中,这会导致 Syntax error: Unexpected token <错误,因为它需要 JavaScript,而不是 HTML。

编辑:为了避免我的 React 应用程序中的错误导入,也许我可以在路由的 index.js 文件中应用逻辑?目前我的 getComponent 调用看起来就像这样:

getComponent(nextState, callback) {
require.ensure([], (require) => {
callback(null, require('./components/HomePage').default);
});
}

编辑2: Found an answer to my issue here.

最佳答案

如果您没有删除 S3 上的旧文件怎么办?

如果您使用不同的 chunkhash 上传,也许您可​​以将旧的散列文件保留一段时间?

关于reactjs - 部署新的 Webpack 包会导致错误,直到页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43790764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com