加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 20:30:21 所属栏目:百科 来源:网络整理
导读:我们使用带有React的webpack 1.x捆绑我们的应用程序.此外,为了在 javascript文件发生变化时破坏缓存,我们将webpack.config.js中的输出设置为: output: { path: __dirname + '/dist',filename: 'index_bundle.[chunkhash:10].js',publicPath: '/'}, 这成功地
我们使用带有React的webpack 1.x捆绑我们的应用程序.此外,为了在 javascript文件发生变化时破坏缓存,我们将webpack.config.js中的输出设置为:

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

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

当用户在部署期间在应用程序上时,会出现皱纹.突然之间,曾经存在的块没有,并且当index.html成功更新时,浏览器当前正在使用的一些块会对旧的,不存在的文件产生错误请求.

webpack是否有传统的方式来处理交换机?或者在我们的React应用程序中,让它优雅地处理错误的组件导入.我们主持S3,它(就像Meteor,我的印象)在一个不存在的文件请求上回退到index.html.在我们的应用程序中,这会导致语法错误:意外的令牌<错误,因为它期待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上传,大概你可以将旧的哈希文件保留一段时间?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读