打字稿編譯器似乎產生錯誤的輸出,如下面所示:打字稿編譯器生成錯誤輸出
export default class TitleParser {}
產地:
class TitleParser {
}
exports.TitleParser = TitleParser;
所以這裏的問題是,我在嘗試使用時出現錯誤該類通過導入它。錯誤:titleparser_1.default is not a function
顯示嘗試導入庫後進行實例化時:
import TitleParser from './TitleParser';
const parser = new TitleParser(); // the error occurs here
這種情況的解決方法是對類出口下方,就像這樣:
class TitleParser {}
export default TitleParser;
以上會產生正確的JavaScript代碼,即
class TitleParser {}
exports.default = TitleParser;
此後類的使用不會再引發錯誤。
我的編譯器配置如下:
"module": "commonjs",
"target": "es6",
"noImplicitAny": true,
"outDir": "../api",
"rootDir": "src",
"sourceMap": true,
"experimentalDecorators": true
而編譯器版本:1.7.5
這是在編譯器中的錯誤還是我做錯了什麼?編譯器從不抱怨。
如果你設定目標ES5。沒事的。所以考慮到這個語言的創建者在這裏說:https://github.com/Microsoft/TypeScript/issues/2242#issuecomment-83694181。我認爲這是編譯器中的一個錯誤。 – Amid