10

在使用 gulp-typescript 将 TS 转换为 JS 时,我想出了一条错误消息。我正在尝试将 ES5 功能用于 getter/setter。

错误 TS1056:访问器仅在面向 ECMAScript 5 及更高版本时可用

如何让转编译器以 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()));
});

记录输出

在此处输入图像描述

4

4 回答 4

4

我所做的是用这个“ tsc --target ES5 YourFile.ts ”编译ts文件

于 2016-12-17T01:39:32.967 回答
2

gulp-typescript 插件有一个名为 "target" 的选项。我发现设置 tsconfig.json 文件没有任何效果,但是当我在 gulp 任务中将目标更改为 es5 时,它工作正常。

插件选项

...
    .pipe(typescript(tsProject(), { target: 'ES5'}))
...
于 2016-12-22T17:33:54.037 回答
0

尝试这个

  • 转到终端/cmd 并导航到您的 ts 文件所在的目录。
  • 使用以下命令。tsc 文件名.ts --target ES5
于 2018-04-20T13:30:03.083 回答
-1

在 windows 操作系统和控制台窗口中的 Visual Studio 代码中,键入以下命令: tsc -target "es5" yourFilename.ts

于 2017-08-17T09:56:58.073 回答