Как сохранить синтаксис ES6 при переносе с Typescript - PullRequest
0 голосов
/ 28 июня 2019

Надеюсь, я не упустил здесь точку.Но как сохранить синтаксис ES6 при переносе в JS?Например, если я кодирую:

class Person {
  public name: string;
  constructor(name: string) {
    this.name = name;
  }
}
let person = new Person('John Doe');
console.log(person.name);

TS выдаст мне: ( "target": "es6" в tsconfig.json )

var Person = /** @class */ (function () {
    function Person(name) {
        this.name = name;
    }
    return Person;
}());
var person = new Person('John Doe');
console.log(person.name);

Но яхотите, чтобы TS дал мне:

class Person {
  constructor(name) {
    this.name = name;
  } 
}
let person = new Person('John Doe');
console.log(person.name);

Мой tsconfig.json выглядит следующим образом:

{
  "compilerOptions": {
    "target": "es6",
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true
  }
}

PS: Если я запускаю команду:

tsc -t es6 app.ts

Itработ;

1 Ответ

2 голосов
/ 28 июня 2019

Ваш файл tsconfig.json игнорируется при указании app.ts в командной строке.

В tsconfig.json добавьте раздел exclude после параметров компилятора:

{
  "compilerOptions": {
    ...
  },
  "exclude": [
    "node_modules"
  ]
}

Затем просто запустите: tsc.

См. Также документацию :

Использование tsconfig.json

  • Вызывая tsc без входных файлов […]
  • Вызывая tsc без входных файлов и параметр командной строки --project (или просто -p)[…]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...