如何解决TypeScript中Cannot find name 'Symbol'报错?
解决TypeScript 2.8.3中"Cannot find name 'Symbol'"的报错
这个报错的核心原因是TypeScript编译器没有加载到包含Symbol定义的标准库——虽然你已经在tsconfig.json里配置了lib: ["es2015"],但编译命令可能没正确读取到这个配置文件。下面是具体的解决步骤:
方案1:让编译器读取tsconfig.json配置
当你直接执行tsc tstut.ts时,TypeScript会忽略当前目录的tsconfig.json,转而使用默认配置。要让它读取配置文件,有两种选择:
- 执行不带文件名的编译命令(会自动读取当前目录的配置,编译所有符合规则的
.ts文件):tsc - 显式指定项目配置文件(仅编译指定文件):
tsc --project ./tsconfig.json tstut.ts
方案2:编译时直接指定lib参数
如果你不想依赖tsconfig.json,可以在编译命令里直接添加--lib参数指定需要的标准库:
tsc tstut.ts --lib es2015
额外:修正tsconfig.json格式
你的配置文件最后多了一个不必要的逗号,虽然多数情况下不影响,但建议修正为标准格式避免潜在问题:
{ "compilerOptions": { "lib": ["es2015"] } }
完成以上操作后重新编译,Symbol相关的报错就会消失,代码能正常输出123。
内容的提问来源于stack exchange,提问作者overexchange
相关产品推荐
相关产品推荐

