我希望我不要在这里漏掉一点。 但是在转译为JS时如何保持ES6语法。 例如,如果我编写代码:
class Person {
public name: string;
constructor(name: string) {
this.name = name;
}
}
let person = new Person('John Doe');
console.log(person.name);
TS给了我:(“ target”:tsconfig.json中的“ es6” )
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
}
}
P.S .:如果我运行命令:
tsc -t es6 app.ts
有效;
答案 0 :(得分:2)
在命令行中指定tsconfig.json
时,文件app.ts
将被忽略。
在tsconfig.json
中,在编译器选项之后添加一个exclude
部分:
{
"compilerOptions": {
...
},
"exclude": [
"node_modules"
]
}
然后,运行:tsc
。
另请参阅the documentation:
使用tsconfig.json
- 通过调用tsc 无输入文件 […]
- 通过调用tsc 无输入文件和一个
--project
(或仅-p
)命令行选项[…]