error TS1056: Accessors are only available when targeting ECMAScript 5 in gulp-typescript
在使用gulp-typescript将TS转换为JS时,出现了这个错误消息。 我正在尝试将ES5功能用于getter / setter。
error TS1056: Accessors are only available when targeting ECMAScript 5
and higher
如何使转编译器定位到es5?
我到处搜索解决方案,建议您设置
tsconfig.js
1 2 3 4 5 6 | { "compilerOptions": { "target":"es5" }, "files": [] } |
吞噬任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import gulp from 'gulp'; import gulpif from 'gulp-if'; import livereload from 'gulp-livereload'; import typescript from 'gulp-typescript'; import args from './lib/args'; const tsProject = typescript.createProject('tsconfig.json'); console.log(tsProject); gulp.task('scripts-typescript', () => { return gulp.src('app/scripts/**/*.ts') .pipe(typescript(tsProject())) .pipe(gulp.dest(`dist/${args.vendor}/scripts`)) .pipe(gulpif(args.watch, livereload())); }); |
记录的输出
我所做的是使用" tsc --target ES5 YourFile.ts"编译ts文件。
gulp-typescript插件具有一个名为" target"的选项。 我发现设置tsconfig.json文件没有任何效果,但是当我在gulp任务中将目标更改为es5时,它运行良好。
插件选项
1 2 3 | ... .pipe(typescript(tsProject(), { target: 'ES5'})) ... |
试试这个
- 转到terminal / cmd并导航到ts文件所在的目录。
-
使用以下命令。
tsc filename.ts-目标ES5
在控制台窗口的Windows操作系统和Visual Studio代码中,键入以下命令:
tsc -target" es5" yourFilename.ts