В веб-проекте 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: невозможно использовать оператор импорта вне модуля