我在使用gulp-typescript将TS转换为JS时会出现此错误消息.我正在尝试将ES5功能用于getter / setter.
error TS1056: Accessors are only available when targeting ECMAScript 5
and higher
如何让transcompiler定位到es5?
我搜索了一些解决方案,建议您设置target = es5并将其传递给打字稿.我使用tsconfig.json完成了以下操作
tsconfig.js
{
"compilerOptions": {
"target": "es5"
},"files": []
}
吞咽任务
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文件