创建纯JavaScript的NX React工作区时遇typescript模块缺失问题
NX纯JS React应用启动提示缺少TypeScript模块的问题解析
问题背景
操作步骤如下:
- 创建工作区:
npx create-nx-workspace@latest # installs 15.2.1 # 选择 style: package-based # 选择 distributed caching: NO
- 安装React包:
npm install -D @nrwl/react
- 创建JS React应用:
npx nx g @nrwl/react:app my-new-app --js
执行启动命令npx nx serve my-new-app时,出现找不到typescript模块的错误。疑问:纯JS应用为何需要TypeScript模块?或是为何需要它却未自动安装?
原因分析
- NX核心依赖TypeScript:NX的内部工具链(包括构建系统、任务调度、缓存机制、代码生成器等)本身是基于TypeScript开发的,无论你创建的是JS还是TS项目,这些工具运行时都需要TypeScript模块支持,所以它是NX工作区的基础必备依赖,和你的应用是否是纯JS无关。
- package-based工作区的特性:你选择的
package-based工作区模式,NX会尽可能保持依赖轻量化,不会自动安装所有通用基础依赖。而@nrwl/react的生成器默认假设工作区已经配置了TypeScript依赖,所以在创建JS应用时没有自动触发TypeScript的安装流程。
解决办法
手动安装TypeScript开发依赖即可:
npm install -D typescript
安装完成后重新执行npx nx serve my-new-app就能正常启动应用。
内容的提问来源于stack exchange,提问作者wuarmin
相关产品推荐
相关产品推荐

