0
如果打字稿應該是JavaScript的(像宣傳的那樣),那麼爲什麼我不能簡單地導入外部庫的嚴格超集,而不必引用相應d.ts
文件,它的工作?爲什麼我不能按原樣使用普通的JavaScript庫(沒有類型檢查)?爲什麼TypeScript需要「聲明文件」來使用外部庫?
如果打字稿應該是JavaScript的(像宣傳的那樣),那麼爲什麼我不能簡單地導入外部庫的嚴格超集,而不必引用相應d.ts
文件,它的工作?爲什麼我不能按原樣使用普通的JavaScript庫(沒有類型檢查)?爲什麼TypeScript需要「聲明文件」來使用外部庫?
它並不「需要」你這樣做。無需聲明即可使用外部庫。
背後打字稿的整體思路是,以避免錯別字和不正確的類型處理。如果你使用沒有任何類型信息的外部模塊,那麼打字稿有什麼意義呢?
最後,您可以通過使用以下語法避免聲明的必要性:
const module = require('module');
我用的打字稿編譯下來舊的瀏覽器ES6代碼,並進行類型檢查自己的代碼。我不需要第三方庫進行打字,但Visual Studio中仍抱怨「無法找到名爲」如果我不引用'd.ts'文件呢,這是個問題。 – Sunny
對於第一種情況,您可以使用babel。這完全是關於類型檢查。對於第二個,只需使用「const」而不是「import」。 – Louy
現在我正在使用'const',但仍然出現錯誤。我正在使用Visual Studio 2015和TypeScript 1.7.4。 – Sunny