Yarn Workspaces 和 Webpack 热模块重新加载 React App
Posted
技术标签:
【中文标题】Yarn Workspaces 和 Webpack 热模块重新加载 React App【英文标题】:Yarn Workspaces And Webpack Hot Module Reloading React App 【发布时间】:2019-01-20 18:04:00 【问题描述】:我正在使用 Yarn Workspaces 来管理单一存储库。我正在使用 webpack 4 进行热模块重新加载。在我的 mono repo 中,我有一个应用程序、一个 UI 组件库和另一个用于授权用户的组件库(auth 包)。我在应用程序和身份验证包中都使用了组件库。应用程序本地的所有内容热重载都很好,但 UI 组件库不会热重载 - 它需要完全刷新。
我尝试使用module.hot.accept(...)
接受 UI 组件库,但似乎没有接受。
猜测这个问题有点牵强,但有什么想法吗?
【问题讨论】:
您的组件库是如何设置的?我通常将我的组件库设置为通过 babel 编译并仅在应用程序上运行 webpack 以进行捆绑。 检查 webpack 是否是 watch 中的 ignoringnode_modules
。在工作区中,引用的组件库包最终会出现在 node_modules
中,因此您可能希望将其包含在手表中。当然,我假设您正在为组件库和应用程序运行单独的 webpack 捆绑器,因此当您修改组件代码时,它会即时捆绑到其 node_modules 包文件夹中。
@pizza-r0b 你设法解决了这个问题吗?我有同样的问题,正在寻找解决方案。
@superkinhluan 不幸的是
我也对解决方案感兴趣,目前还没有运气...
【参考方案1】:
在您的 package.json
开发构建脚本中添加 --hot
。
它适用于 webpack 4。
【讨论】:
以上是关于Yarn Workspaces 和 Webpack 热模块重新加载 React App的主要内容,如果未能解决你的问题,请参考以下文章
TypeScript 尝试使用 Yarn Workspaces 编译兄弟文件夹的 node_modules
Yarn Workspaces 是仅存在于一个工作空间中的提升模块
如何在 Lerna + Yarn Workspaces repo 中安装 npm 包?
[CLI] Create a Single-Command Node.js CLI with Oclif, TypeScript and Yarn Workspaces