You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Yarn Workspace时Webpack监听模式下TypeScript定义不更新

Webpack监听模式下TypeScript无法识别工具包新增导出的函数

环境与项目结构

基于以下技术栈搭建React微前端项目:

  • single-spa v5.9
  • webpack v5.75
  • babel-loader v9.1
  • ts-loader v9.4
  • Yarn Workspace v3.5

项目包含基础包结构:

  • root spa => root包
  • application spa => app1包
  • utils spa => utils1包
  • react lib utils spa => utils2包

问题详情

在Webpack开发环境的监听模式下,给utils1新增一个函数后,在app1中尝试导入使用该函数时,会触发TypeScript错误,提示模块“@mma/utils1”没有导出成员“newFunction”。但实际应用运行完全正常,因此判断这是webpack、loader或TypeScript的配置问题,目前未找到可行的解决方案。

需要说明的是,utils1更新后的.d.ts文件已经由ts-loader在dist目录生成,且app1的编译日志显示已识别到这些文件(标记为assets by path ../../utils1),但仍无法解决TypeScript报错问题。

新增函数时的控制台日志

[@mma/utils1]: assets by path *.js 257 KiB
[@mma/utils1]:   asset mma-utils1.js 256 KiB [emitted] (name: main) 1 related asset
[@mma/utils1]:   asset main.7298c5f52c40300d30e4.hot-update.js 1.17 KiB [emitted] [immutable] [hmr] (name: main) 1 related asset
[@mma/utils1]: asset index.html 3.05 KiB [emitted]
[@mma/utils1]: asset main.7298c5f52c40300d30e4.hot-update.json 28 bytes [emitted] [immutable] [hmr]
[@mma/utils1]: Entrypoint main 257 KiB (288 KiB) = mma-utils1.js 256 KiB main.7298c5f52c40300d30e4.hot-update.js 1.17 KiB 2 auxiliary assets
[@mma/utils1]: cached modules 177 KiB [cached] 29 modules
[@mma/utils1]: runtime modules 26.3 KiB 12 modules
[@mma/utils1]: ./src/mma-utils1.ts 278 bytes [built] [code generated]
[@mma/utils1]: webpack 5.78.0 compiled successfully in 120 ms
[@mma/utils1]: No issues found.
[@mma/app1]: <i> [webpack-dev-middleware] wait until bundle finished: /mma-app1.js
[@mma/app1]: assets by path ../../utils1/ 16.3 KiB
[@mma/app1]:   asset ../../utils1/tsconfig.tsbuildinfo 15.9 KiB [emitted]
[@mma/app1]:   asset ../../utils1/dist/mma-utils1.d.ts.map 222 bytes [emitted]
[@mma/app1]:   asset ../../utils1/dist/mma-utils1.d.ts 213 bytes [emitted]
[@mma/app1]: assets by path *.js 311 KiB
[@mma/app1]:   asset mma-app1.js 311 KiB [emitted] (name: main) 1 related asset
[@mma/app1]:   asset main.e16099d5ac744012f09a.hot-update.js 349 bytes [emitted] [immutable] [hmr] (name: main) 1 related asset
[@mma/app1]: asset index.html 3.04 KiB [emitted]
[@mma/app1]: asset main.e16099d5ac744012f09a.hot-update.json 28 bytes [emitted] [immutable] [hmr]
[@mma/app1]: Entrypoint main 311 KiB (346 KiB) = mma-app1.js 311 KiB main.e16099d5ac744012f09a.hot-update.js 349 bytes 2 auxiliary assets
[@mma/app1]: cached modules 223 KiB [cached] 37 modules
[@mma/app1]: runtime modules 26.3 KiB 12 modules
[@mma/app1]: javascript modules 1.39 KiB
[@mma/app1]:   ./src/mma-app1.tsx 619 bytes [built]
[@mma/app1]:   ./src/root.component.tsx 800 bytes [built]
[@mma/app1]: webpack 5.78.0 compiled successfully in 713 ms
[@mma/app1]: No issues found.

尝试使用函数时的日志

[@mma/app1]: assets by path *.js 313 KiB
[@mma/app1]:   asset mma-app1.js 311 KiB [emitted] (name: main) 1 related asset
[@mma/app1]:   asset main.a4f5012940d30ef822c1.hot-update.js 2.34 KiB [emitted] [immutable] [hmr] (name: main) 1 related asset
[@mma/app1]: asset index.html 3.04 KiB [emitted]
[@mma/app1]: asset main.a4f5012940d30ef822c1.hot-update.json 28 bytes [emitted] [immutable] [hmr]
[@mma/app1]: Entrypoint main 313 KiB (347 KiB) = mma-app1.js 311 KiB main.a4f5012940d30ef822c1.hot-update.js 2.34 KiB 2 auxiliary assets
[@mma/app1]: cached modules 224 KiB [cached] 38 modules
[@mma/app1]: runtime modules 26.3 KiB 12 modules
[@mma/app1]: ./src/root.component.tsx 800 bytes [built] [code generated]
[@mma/app1]: webpack 5.78.0 compiled successfully in 268 ms
[@mma/app1]: ERROR in src/root.component.tsx:1:10
[@mma/app1]: TS2305: Module "@mma/utils1" has no exported member 'newFunction'.
[@mma/app1]:   > 1 | import { newFunction, toLowerCaseText } from "@mma/utils1";
[@mma/app1]:       |          ^^^^^^^^^^^
[@mma/app1]:     2 | import { toUpperCaseText } from "@mma/utils1";
[@mma/app1]:     3 | import { HelloComponent } from "@mma/utils2";
[@mma/app1]:     4 |

求助

如何解决Webpack监听模式下的这个TypeScript错误?

内容的提问来源于stack exchange,提问作者Mathieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:07:35