Использование модуля из файла Simple TypeScrypt вызывает ошибку «Невозможно использовать оператор импорта вне модуля» - PullRequest
0 голосов
/ 06 мая 2020

В веб-проекте Visual Studio 2019 я пытаюсь использовать sweetalert2 в простом файле TS (без модуля). Я сослался на файл. js sweetalert2 из CDN, и я добавил файл sweetalert2.d.ts в свое решение. Затем я импортирую модуль в свой файл test.ts (см. Код), компилятор TS доволен и может найти Swal.fire(). Однако сгенерированный файл test. js имеет импорт вверху, и это вызывает ошибку в браузере, говоря, что импорт нельзя использовать вне модуля. Если я вручную удалю импорт из сгенерированного файла test. js, все будет работать нормально.

Как я могу одновременно заставить компилятор TS найти модуль / пространство имен (Swal - это пространство имен внутри модуля ) и все равно получить получившийся файл test. js для работы в браузере?

test.ts

import Swal from "sweetalert2";

function test() {
    Swal.fire('Any fool can use a computer')
}

index. html (для теста)

<!DOCTYPE html>
<html>
<head>
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@9.10.12/dist/sweetalert2.all.min.js"></script>
    <script src="test.js"></script>
</head>
<body>
    <script>test();</script>
</body>
</html>

Ошибка в Chrome

Uncaught SyntaxError: невозможно использовать оператор импорта вне модуля

...