我在使用 gulp-typescript 将 TS 转译为 JS 时收到此错误消息。我正在尝试为 getters/setters 使用 ES5 特性。
error TS1056: Accessors are only available when targeting ECMAScript 5 and higher
如何让转译器以 es5 为目标?
我在谷歌上搜索了建议您设置 target = es5
并将其传递给 typescript 的解决方案。我使用 tsconfig.json 完成了以下操作
tsconfig.js
{
"compilerOptions": {
"target": "es5"
},
"files": []
}
gulp 任务
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 文件
关于typescript - 错误 TS1056 : Accessors are only available when targeting ECMAScript 5 in gulp-typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351763/