как распространять ваш пакет для поддержки как commonjs, так и amd - PullRequest
0 голосов
/ 08 сентября 2018

у нас есть три пакета, которые распространяются как модуль commonjs.

  • Core // пакет содержит общий ресурс
  • InternalExtend // пакет только для нашей команды
  • ExternalExtend // пакет, который могут использовать другие команды

Мы написали приведенный выше код все в машинописном тексте, и у нас есть tsconfig, как показано ниже

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "lib": [
      "dom",
      "es2015",
      "es2016",
      "es5"
    ],
    "declaration": true,
    "sourceMap": true,
    "removeComments": false,
    "noImplicitAny": true,
    "preserveConstEnums": true,
    "outDir": "dist"
  }
}

все хорошо, пока к нам не придет одна команда, которая использует AMD в своей кодовой базе и не сможет напрямую ссылаться на наш пакет.

Упоминание https://requirejs.org/docs/commonjs.html не помогает и спрашивает нас, можем ли мы распространять копию нашего пакета также в модуле AMD.

Я попытался получить еще один tsconfig, и единственное отличие - это изменить модуль commonjs на модуль amd. Но TSC не рад этому.

Есть ли способ, которым проект может компилироваться как в AMD, так и в Commonjs?

...