Для чего используется опция модуля в tsconfig? - PullRequest
4 голосов
/ 02 апреля 2019

Я пытаюсь понять опцию компилятора модуля машинописного текста.

Я просмотрел документацию машинописного текста - документы В нем говорится, что опция модуля - Specify module code generation.

Что это значит?

Означает ли это, что если я добавлю опцию модуля как commonjs, то компилятор скомпилирует код в commonjs?Но тогда у нас есть варианты, такие как esnext, es16.После того, как я просмотрел Документы: Разница между целями модуля esnext, es6, es2015 , я понял, что import() expressions are understood in esnext.В любом случае целью компилятора является компиляция кода в понятный браузеру синтаксис (commonjs).Таким образом, компиляция кода для данного типа модуля не имеет смысла.

Значит ли это, что тип модуля, который вы указываете, указывает компилятору, в каком синтаксисе написан код?То есть из какого кода он должен скомпилировать его в commonjs?Но тогда у нас есть тип модуля commonjs, который часто используется, но мы почти никогда не пишем код в чистом синтаксисе commonjs.

какова цель tsconfig.json? ответ stackoverflow говорит module specifies module manager.Я не понимаю, что это значит.

Я также прошел через Понимание «цели» и «модуля» в опциях модуля tsconfig и tsconfig - относится ли «System» к SystemJS? .

Похоже, что ни один из них не дает правильного ответа на мой вопрос.

tsconfig.json

{
  "compilerOptions: {
    "module": "esnext"
  }
}
...