Невозможно получить сгенерированные машинописные файлы js для запуска в IE11 - PullRequest
0 голосов
/ 23 сентября 2018

Я пробую Typescript, используя Visual Studio 2017.

Я открыл пустой каталог в Visual Studio 2017 («Добавить существующий веб-сайт») и добавил index.html и main.ts.

Это мой файл tsconfig.json, основанный на общих рекомендациях:

    {
    "compilerOptions":
    {
        "sourceMap": false,
        "noImplicitAny": false,
        "module": "es2015",
        "target": "es3"
    },
    "compileOnSave": true,
    "include":
    [
        "scripts/**/*"
    ]
}

И в index.html я добавляю свой файл следующим образом:

 <script src="scripts/main.js" ></script>

Но когда я открываюстраница в IE11, я просто показываю «Синтаксическая ошибка» и номер строки.Переход к номеру строки показывает import и export операторов

Я пытался использовать requirejs, но я получаю другие виды ошибок, и я пытался изменить module и target в tsconfig.json, но, похоже, ничего не работает.

Я не хочу, чтобы зависимости в моем коде, если это вообще возможно, но что у меня естьсделать, чтобы сгенерированный Typescript код JavaScript для выполнения в IE11?

Я даже не пытался заставить его работать еще в IE8.

Или IE11 больше не считается браузером дляподдерживаться?

1 Ответ

0 голосов
/ 23 сентября 2018

Я нашел решение ...

У меня был такой код:

export module ABC {
    ....
}

И в IE11 это создало ошибку "неизвестная ошибка экспорта" в результате способа JSбыл сгенерирован с использованием настроек tsconfig.

Таким образом, решение состояло в том, чтобы заменить модуль экспорта ABC на пространство имен ABC и обновить мой файл tsconfig.js следующим образом:

{
"compilerOptions":
{
    "target": "es3", //defines what sort of code ts generates, es5 because it's what most browsers currently UNDERSTANDS.
    "module": "none",
    "lib":
    [
        "es2015.promise",
        "es5",
        "dom",
    ]
},
"compileOnSave": true,
"include":
[
    "scripts/*"
]

}

Самым важным был "модуль": "нет"

У меня ушло много времени на то, чтобы понять, надеюсь, что это поможет кому-то еще.

ОБНОВЛЕНИЕ 1:

Мне пришлось добавить раздел "lib" в опциях компилятора, чтобы транспортер не жаловался на Promise, console и другие известные ключевые слова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...