簡體   English   中英

Typescript 中的 Javascript 錯誤在 IE11 中生成 JS

[英]Javascript error in Typescript generated JS in IE11

當我在 IE11 中加載頁面時,我從 typescript 中的一個簡單模塊/類中收到以下錯誤。 在 Edge 和 Chrome 等其他瀏覽器中不會發生該錯誤。

clock.js SCRIPT1002 中第 4 行第 5 列的 JavaScript 嚴重錯誤:語法錯誤

這是TS代碼。

module DateTime {
    export class TestMe {
        private timeNow:Date;
        constructor() {
            alert("Hello");
        }
    }
}

這是由它生成的 JS 代碼。

var DateTime;
(function (DateTime) {
    class TestMe {
        constructor() {
            alert("Hello");
        }
    }
    DateTime.TestMe = TestMe;
})(DateTime || (DateTime = {}));

這就是在頁面上調用它的方式。

<script type="text/javascript">
            $(document)
                .ready(function() {
                        var testIt = new DateTime.TestMe();
                    }
                );
    </script>

從調試器中我可以看到它不喜歡 JS 代碼中的“類”關鍵字。 頁面甚至無法創建“TestMe”實例,因為clock.js 中的語法錯誤不會讓該文件加載。 我需要包括什么才能在 IE11 中工作嗎? 我也嘗試包含 es6 墊片,但同樣的問題。

感謝您對此問題的任何意見。

根據兼容性表, IE 11 不支持class關鍵字和語言功能。

您可以使用--target選項或構建中的等效選項強制 Typescript 編譯器輸出與舊版 JavaScript 兼容的代碼。 否則,您將需要通過另一個轉譯器(例如 Babel)運行 TS 輸出以生成將在 IE 下運行的 ES5。

您的編譯器似乎仍在編譯為 IE11不支持的 es6 代碼

嘗試更改編譯器選項以編譯到 es5。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM