Я строю свой модуль первого узла. Внутри модуля есть демонстрационное приложение. Демонстрация полезна только во время разработки. Где мы размещаем демо-зависимости?Где мы храним демо-зависимости приложений при создании модуля?
Первый ответ, который приходит на ум, заключается в том, чтобы поместить их в devDependencies
, потому что они полезны только при разработке. При этом обычно я резервирую devDependencies
для инструментов сборки, а не для модулей, которые запускают приложение (demo).
Итак, при разработке модуля, содержащего собственное демо-приложение, где можно установить зависимости приложения демо?
dependencies
?devDependencies
?someWhereElse
?
Это модуль: https://github.com/shaunluttin/aurelia-open-id-connect
Вот высокоуровневый график зависимостей в моем модуле. Места в ()
основаны на ответе из Пранеша.
demo
third-party-modules (optionalDependencies)
my-module
third-party-modules (dependencies)
Когда кто-то устанавливает наш модуль, мы хотим, чтобы они только рушить my-module/third-party-modules
. Когда кто-то клонирует наше репо, мы хотим, чтобы они также смогли снести demo/third-party-modules
.
У меня возникли проблемы с пониманием того, как демо-приложение будет зависеть от самого модуля. Например, вот моя структура модуля: https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/src. Модуль находится внутри 'src/open-id-connect /', а демонстрационное приложение - все остальное внутри 'src /'. При публикации модуля 'dist' включает только содержимое' src/open-id-connect': https://github.com/shaunluttin/aurelia-open-id-connect/tree/master/dist/amd Я структурирую свое демо-приложение в нетрадиционной форме? –
Примеры не будут зависимыми, они будут ** зависимыми ** от модуля. Взгляните на https://github.com/expressjs/express/blob/master/examples/auth/index.js#L5. Эти примеры зависят от модуля (экспресс) –
Хорошо. Это имеет смысл для меня, что демо не является зависимостью. Это понятно. Демо, однако, имеет свои собственные зависимости, и мне интересно, где их хранить. –