Это очень запутанная тема c для меня на данный момент, и я верю также и для многих других людей. Многие советы, которые распространяются по inte rnet, кажутся очень вводящими в заблуждение.
Что я пытаюсь сделать?
Я пытаюсь создать основную c веб-страницу только с простым TypeScript и HTML. Я хочу включить скомпилированный JavaScript со стандартным тегом <script>
, таким как
<script src="javascriptOutput/myCompiledJsFile.js></script>
, при этом сохраняя возможность использовать обычные функциональные возможности модуля TypeScript, что означает разделение моего кода на разные файлы и их импорт в основном скрипте myCompiledJsFile.js
, который я включаю в мой HTML.
В чем проблема?
Со следующими tsconfig.json
,
{
"compilerOptions": {
"target": "es5",
"module": "commonjs"
// ...
}
}
the * Консоль 1035 * всегда выдает эту ошибку: Uncaught ReferenceError: exports is not defined
.
Из того, что я прочитал, кажется, что проблема заключается в том, что система модулей указана как commonjs
, которая, кажется, не работает без внешнего загрузчик модулей (например, System JS, включенный в Webpack et c.).
Я думаю, что можно использовать TypeScript без одного из этих внешних загрузчиков модулей, если я прав. Но я не знаю, как настроить TypeScript для компиляции таким образом, чтобы браузеры могли запускать скомпилированный код без Uncaught ReferenceError
. И я также не знаю, где вы можете найти эту информацию о том, какие браузеры поддерживают какие загрузчики модулей / модульные системы. Нужно ли мне смотреть на JavaScript движок, который запускает браузер (например, V8 для Chrome)?
Я также не хочу работать с любыми "взломами", такими как добавление var scripts = {}
или тому подобное или удаление строк в скомпилированном JS.