我正在使用Typescript进行一些测试,甚至当我强制执行错误时,代码也会编译为javascript . 我正在使用vscode任务进行编译 .
app.ts
function getAllBooks() {
let books = [
{ title: "book1", author: "author1", available: true },
{ title: "book2", author: "author2", available: false },
{ title: "book3", author: "author3", available: true }
];
return books;
}
function logFirstAvailable(books) {
let numberOfBooks = books.length;
for (let book of books) {
let firstAvailable = "";
if (book.available) {
firstAvailable = book.title;
break;
}
}
console.log('Total books: ' + numberOfBooks);
console.log('First Available: ' + firstAvailable); // error TS2304: Cannot find name 'firstAvailable'.
}
const ALL_BOOKS = getAllBooks();
logFirstAvailable(ALL_BOOKS);
app.js
function getAllBooks() {
var books = [
{ title: "book1", author: "author1", available: true },
{ title: "book2", author: "author2", available: false },
{ title: "book3", author: "author3", available: true }
];
return books;
}
function logFirstAvailable(books) {
var numberOfBooks = books.length;
for (var _i = 0, books_1 = books; _i < books_1.length; _i++) {
var book = books_1[_i];
var firstAvailable = "";
if (book.available) {
firstAvailable = book.title;
break;
}
}
console.log('Total books: ' + numberOfBooks);
console.log('First Available: ' + firstAvailable);
}
var ALL_BOOKS = getAllBooks();
logFirstAvailable(ALL_BOOKS);
//# sourceMappingURL=app.js.map
tasks.json
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"args": [
"--target", "ES5",
"--outdir", "js",
"--sourceMap",
"--watch",
"app.ts"
],
"showOutput": "silent",
"problemMatcher": "$tsc"
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs"
}
}
如果这是正常行为,如果发生任何错误,如何阻止打字稿编译?
1 回答
你试过
--noEmitOnError
吗?阅读tsc --help
下列出的参数听起来就像票 .