将TypeScript项目降级适配Node.js 12.22.11遇问题求助
解决方案
问题1:tsx的UNMET OPTIONAL DEPENDENCY处理
- 可选依赖未满足(UNMET OPTIONAL DEPENDENCY)不影响核心功能,除非你的代码明确用到了这些可选依赖提供的特性,否则可以直接忽略。
- 若想彻底消除这类提示,可重新安装tsx时跳过可选依赖:
npm install tsx@3.14.0 --no-optional
问题2:tsc运行报错(SyntaxError: Unexpected token '?')
报错原因是你当前调用的是全局安装的高版本TypeScript(其内部代码使用了Node.js 12不支持的空值合并运算符??),而非项目本地降级后的4.7.2版本。解决步骤:
- 确保项目本地安装TypeScript 4.7.2:
npm install --save-dev typescript@4.7.2 - 避免直接调用全局
tsc命令,改用本地版本执行:- 方式一:使用
npx调用本地tscnpx tsc - 方式二:在
package.json的scripts中添加编译命令,通过npm脚本调用本地tsc:
执行编译时运行:"scripts": { "build": "tsc" }npm run build
- 方式一:使用
- 检查
tsconfig.json的target配置,确保设置为Node.js 12支持的ES版本(推荐ES2019):{ "compilerOptions": { "target": "ES2019", // 其他配置... } }
内容的提问来源于stack exchange,提问作者quilkin
相关产品推荐
相关产品推荐

