Вывод TypeScript не комбинируется - PullRequest
0 голосов
/ 22 октября 2018

У меня есть следующие настройки:

tsconfig.json

{
    "compileOnSave": true,
    "compilerOptions": {
        "module": "none",
        "outFile": "js/app.js"
    }
}

MyApp.Main.ts

class Main
{
    constructor()
    {
        Utilities.init(this);
    }

    // Other methods
}

MyApp.Utilities.ts

class Utilities
{
    static init(app: Main)
    {
         // Do something with app...
    }

    // Other methods
}

Когда я сохраняю файл .ts или перекомпилирую проект, у меня нет файла app.js, как указано в *Опция 1019 *, я получаю только скомпилированные файлы MyApp.Main.js и MyApp.Utilities.js.

Я также попытался добавить пути /// <reference ... /> в мой класс "Main", что также не приводит к объединению выходных данных.

Некоторые примечания:

  • Я не могу ориентироваться на более новую версию ES, потому что мне нужно поддерживать IE без прокладки.
  • Точно так же я не могу использовать модульсистема, потому что мне не разрешено вводить дополнительную зависимость в проект, поэтому модуль должен быть "none".
  • Я не могу запустить код через дополнительный компилятор, такой как Babel.

По сути, мне нужно, чтобы это работало с чистым TypeScript, без системы модулей и без (по умолчанию) цели ES.

Что я делаю неправильно?если выходные данные не объединяются в один файл .js?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Вы можете просто пропустить опцию модуля, и она должна работать!

Это мой tsconfig.

{
  "compilerOptions": {
    "strict": true,
    "target": "es5",
    "removeComments": true,
    "noUnusedLocals":true,
    "noUnusedParameters":true,
    "sourceMap": true,
    "outFile": "docs/js/main.js"
},
  "include": [
    "dev/**/*"
  ]
}
0 голосов
/ 22 октября 2018

С https://www.typescriptlang.org/docs/handbook/compiler-options.html (в описании опции --module)

Только «AMD» и «System» могут использоваться вместе с --outFile.

Таким образом, вы должны изменить настройку module, как описано.

Обычно, если сопровождающие TS говорят такие вещи, нет способа преодолеть это (и вы не должны).

Мне не разрешено вводить дополнительную зависимость в проект

Что это за зависимость?Модули не заставляют вас добавлять какие-либо.

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