Tencent / hel

A module federation SDK which is unrelated to tool chain for module consumer. 工具链无关的运行时模块联邦sdk.
https://tencent.github.io/hel/
Other
967 stars 85 forks source link

本地调试是否支持热更新? #79

Closed hangaoke1 closed 1 year ago

hangaoke1 commented 1 year ago

比如我应用是部署在线上的,通过 url debug 参数判断是否加载本地模块,此时本地模块修改代码后,应用能否实现热更新远程模块?

fantasticsoul commented 1 year ago

感觉理论上可行,你试试看呢,欢迎入群一起讨论

hangaoke1 commented 1 year ago

测试可行 主应用:开发环境 库应用:开发环境 由于存在多个 react-refresh 实例,所以需要处理一下 react-refresh-webpack-plugin配置

hel react 模版调整

// hel-tpl-remote-react-comp-ts/config/webpack.config.js
 new ReactRefreshWebpackPlugin({
    overlay: false,
    forceEnable: true,
    library: 'remoteRefresh', // 支持多实例
  }),

主应用:线上环境 库应用:开发环境

保证主应用在调试时加载 react development 包即可,可以考虑抽离 React、ReactDOM

  externals: {
    react: 'React',
    'react-dom': 'ReactDOM',
  },

线上打包的时候可以打两份 html

后续有时间在补个 Demo 吧,目前测试完全没问题,热更新都 ok 的