Включение связанного кода из одного проекта в другой с поддержкой Typescript - PullRequest
0 голосов
/ 16 октября 2018

Я работаю над проектом, в котором есть два подпроекта: давайте назовем их ProjectA и ProjectB.Это совершенно разные проекты, но оба написаны на Typescript и используют веб-пакет в качестве компоновщика.

Во время разработки я хотел бы использовать некоторые части ProjectA в ProjectB, но общее требование заключается в том, чтобы ProjectB должен потреблять весь код из ProjectA как внешнюю зависимость - через тег скрипта, а не через установку npm или что-то подобное.

Поэтому я хотел бы связать код ProjectA, используя библиотечную опциюСвойство выходной конфигурации webpack, где-то разместить результирующий пакет и включить его в ProjectB с помощью тега script.Но так как я использовал бы некоторые функции из ProjectA во время разработки ProjectB, я хотел бы также получить Typescript преимущества.

Может ли кто-нибудь указать мне правильное направление здесь?

1 Ответ

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

Создайте две подпапки, /a/ и /b/, затем используйте псевдонимы , чтобы легко ссылаться на b из:

// webpack.config.js
 module.exports = {
  //...
 resolve: {
   alias: {
    b: path.resolve(__dirname, '../b/')
   }
  }
};

Затем вы можете легко импортировать между деталями как:

  import Something from "b/something";

, но общее требование заключается в том, что ProjectB должен использовать весь код из ProjectA в качестве внешней зависимости -

Затем добавить еще один файл веб-пакета в /b/, построить b извнев виде библиотеки и добавьте ее как external в:

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