我是用typescript编程的,然后当我运行"tsc fileName.ts“时发生了这个问题。
“访问器仅在面向ECMAScript 5和更高版本时可用。”
所以我寻找解决方案,"tsc -t es5 fileName.ts“就行了。
但我希望它是默认的,所以我搜索了更多,很多答案都谈到了修改tsconfig.json文件。
当我在我的系统(Windows8.1)上搜索tsconfig.json文件时,我得到2个具有此名称的文件。
one in: C:\Users\Peppe.p2\pool\plugins\org.eclipse.wildwebdeveloper_0.5.10.202008281220\node_modules\vscode-emmet-helper
内容:
{
"compilerOptions": {
"target": "es6",
"lib": ["es2016"],
"module": "commonjs",
"outDir": "out",
"sourceMap": true,
"allowJs": true
},
"exclude": ["node_modules", "out"]
}另一个在: C:\Users\Peppe.p2\pool\plugins\org.eclipse.wildwebdeveloper_0.5.10.202008281220\node_modules\uri-js
内容
{
"compilerOptions": {
"module": "es2015",
"target": "esnext",
"noImplicitAny": true,
"sourceMap": true,
"alwaysStrict": true,
"declaration": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"importHelpers": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"outDir": "dist/esnext",
"strictNullChecks": true
},
"include": [
"src/**/*"
]
}最后一件事。如果我运行"node -v“,我会得到: 14.15.1
如果我打开vs代码编辑器,单击“帮助”,然后单击“关于”,它会显示:
。。
。。
Node.js 12.14.1 ..
。。
有不同版本的node是正常的吗?也许我有局部的和全局的?如何默认设置es 2016 (或更好的es 2017)?
发布于 2020-11-27 20:04:48
此问题的标题与您提出的问题无关。您系统上的node版本与TypeScript编译器(tsc)无关。您看到的错误是因为tsc的默认目标是ES3,所以将目标(-t标志)设置为ES5可以解决这个问题。如果您在TypeScript中进行开发,则通常在您正在处理的项目的本地有一个tsconfig文件,其中包含该项目所需的所有设置。如果不这样做,TypeScript编译器将使用缺省值。
默认情况下,不能将tsc目标设置为全局ES5。您需要在项目中创建tsconfig文件,并在调用tsc时告诉它要使用哪个tsconfig文件
https://stackoverflow.com/questions/65036376
复制相似问题