Accessors are only available when targeting ECMAScript 5 and higher

断了今生、忘了曾经 提交于 2019-12-03 04:16:31

The only thing which works for me was to specify the Target on macOS and Windows.

tsc --target es5 script.ts

You can run the command on your terminal.

try setting up a tsconfig.json file in your project:

{
  "compilerOptions": {
  "target": "es5"
  }
  "files": []
}

that will tell the typescript compiler to target a version specifically.

I was having the same problem. What I read from the docs is that the tsconfig.json file is ignored if you specify the files.

My tsconfig.json file

{
  "compilerOptions": {
    "target": "es5"
  },
  "include": [
    "*.ts"
  ]
}

And I run it from command line

tsc && node *.js
Honey Bee

In Windows, the

tsc --target es5 filename.ts

options can be: 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'esnext'. (without '')

I know that is an old conversation, but i think that solution bellow could be a very helpful command for all developers here.

You can easily solve using this command in your Terminal, Command Prompt, Git Bash and etc:

tsc --target ES2016 Animal.ts --watch

or

tsc --target es5 Animal.ts --watch

--watch is optional and means that you doesn't need to compile your code in each modification.

Using Visual Stido 2017 ?
1- Solution Explorer>Right Click To Project
2- Add>New Item
3- (Search section >type this> typescript)
4- Select "TypeScript Json Configuration File"

thats it
at the end of this steps, tsconfig.json will be added to project with default set applied to ES5

you don't have to change anything. just recompile your project and error gonna out.

If you're dealing with single file you could do this

tsc your-file.ts --target ES2016 --watch

If you wants inside your tsconfig.json for entire project configuration

{ "compilerOptions": { "target": "ES2016" } "files": [] }

You may want to use either ECMAScript numeric "es6", "es7", "es8" or year of release like "ES2015", "ES2016", "ES2017".

ESNext targets latest supported ES proposed features.

I had the same problem trying to compile TypeScript code with Visual Studio Code. This solved the issue:

1) tsconfig.json - add the target in the compilerOptions:

{
    "compilerOptions": {
        "target": "es5",  // <-- here!
        "module": "commonjs",
        "sourceMap": true
    }
}

2) tasks.json - add the target argument:

{
    "version": "2.0.0",
    "tasks": [
        {
            "taskName": "build",
            "type": "process",
            "command": "tsc",
            "args": [
                "ts/Program.ts",
                "--outDir", "js",
                "--sourceMap",
                "--watch",
                "--target", "es5"  // <-- here!
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always"
            },
            "problemMatcher": "$tsc"
        }
    ]
}

Here you need to pass the switch to type script compiler, so it target ECMAScript file. To do that enter below code in the terminal

tsc (your ts file).ts --target ES5 and run your bulid js file

node (your js file)

Try using tsc myTS.ts --target ES5

this is because TypeScript should Traget ECMA script 5 compiler.

In my case, I only needed to add the target.

 tsc *.ts --target ES5 && node *.js
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!