我在使用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文件