В чем разница между зависимостями, devDependencies и peerDependencies в файле npm package.json?

Вы должны следить за кодом, подобным этому, удаление элементов управления из своего контейнера, как это приводит к утечке ресурса. Controls.Remove / At () или метод Controls.Clear (), предложенный другими плакатами, удаляет элемент управления из коллекции и повторно размещает его в «окне парковки». В противном случае невидимое окно, в котором собственное окно может найти гостеприимный дом без необходимости его уничтожения. Готов к повторному размещению у другого родителя.

Который является ловушкой, вы, как правило, не переносите его на другого родителя. Элемент управления будет продолжать выживать в окне парковки, потребляя собственные ресурсы Windows. Сборщик мусора не может восстановить эти ресурсы. В конце концов ваша программа выйдет из строя, когда Windows откажется предоставить больше окон вашему процессу. Сообщение об исключении скажет «Ошибка создания дескриптора».

Вместо этого вы должны распоряжаться элементом управления. Который также автоматически удаляет элемент управления из его родителя. Правильный код:

 while (contentsPanel.Controls.Count > 0) contentsPanel.Controls[0].Dispose();

Или итерация назад, если вы обнаружите, что это слишком странно выглядит.

1780
задан Vitalii Korsakov 26 October 2018 в 08:57
поделиться

1 ответ

Зависимости по сравнению с dev зависимостями

зависимости Dev являются модулями, которые только требуются во время разработки, тогда как зависимости требуются во времени выполнения. Если Вы развертываете свое приложение, зависимости должен быть установлен, или иначе Ваше приложение просто не будет работать. Библиотеки, которые Вы называете из своего кода, который позволяет программе работать, можно рассмотреть как зависимости.

, Например, - Реагируют, Реагируют - модули dom

Dev зависимости не должны быть установлены в рабочем сервере, так как Вы не собираетесь разрабатывать в той машине .compilers, которым тайный Ваш код к JavaScript, средам тестирования и генераторам документа можно рассмотреть как dev-зависимости, так как они только требуются во время разработки.

, Например, - ESLint, Столпотворение, webpack

@FYI,

mod-a
  dev-dependents:
    - mod-b
  dependents:
    - mod-c

mod-d
  dev-dependents:
    - mod-e
  dependents:
    - mod-a

----

npm install mod-d

installed modules:
  - mod-d
  - mod-a
  - mod-c

----

checkout the mod-d code repository

npm install

installed modules:
  - mod-a
  - mod-c
  - mod-e

, Если Вы публикуете к npm, затем важно, чтобы Вы использовали корректный флаг для корректных модулей. Если это - что-то, что Ваш npm модуль должен функционировать, затем использовать "-сохраняют" флаг для сохранения модуля как зависимости. Если это - что-то, что Ваш модуль не должен функционировать, но это необходимо для тестирования, то используйте "-сохраняют-dev" флаг.

# For dependent modules
npm install dependent-module --save

# For dev-dependent modules
npm install development-module --save-dev
2
ответ дан 22 November 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: