Właśnie zacząłem używać Grunt.js . Jest to dość trudne do skonfigurowania i jestem na etapie tworzenia package.json
pliku.
Po tym samouczku napisano, że istnieją 3 sposoby utworzenia package.json
pliku.
Pierwszy to zrobić npm install grunt --save-dev
Ale co to --save-dev
znaczy? Próbowałem szukać, ale na próżno.
Odpowiedzi:
Według dokumentacji instalacyjnej npm .
Innymi słowy, po uruchomieniu
npm install
devDependencies twojego projektu zostaną zainstalowane, ale devDependencies dla wszystkich pakietów, od których zależy twoja aplikacja, nie zostaną zainstalowane; ponadto inne aplikacje, w których aplikacja jest zależna, nie muszą instalować aplikacji devDependencies. Takie moduły powinny być potrzebne tylko podczas tworzenia aplikacji (np. Chrząknięcie, mokka itp.).Zgodnie z dokumentacją package.json
Edycja: próba wizualizacji tego, co
npm install
:devDependency NIE zainstalowanodevDependency NIE zainstalowanodevDependency NIE zainstalowanoźródło
npm install --dev
flaga?npm install
, zostaną również zainstalowane devDependencies projektu. Nie chcesz instalować devDependencies zależności. Jeśli chcesz rozwinąć na pakiecie npm, zróbgit clone xxx
ten projekt i uruchomnpm install
w nim.npm install
zostanie uruchomiony w twoim projekcie, wszystkie devDependencies w pakiecie.json zostaną zainstalowane, ale jeśli spakujesz swój projekt jako nowy pakiet npm i opublikujesz go, gdy ktoś inny zainstaluje twój pakiet z instalacją npm, devDependencies nie będzie zainstalowane w ich systemie. Czy to prawda? @stanzheng lub możesz uruchomić npm install --produkcja, aby zainstalować wszystko w pakiecie.json oprócz zależności devIstnieją (co najmniej) dwa typy zależności pakietów, które można wskazać w plikach package.json:
Pakiety wymagane do korzystania z modułu są wymienione we właściwości „zależności”. Za pomocą npm możesz dodać te zależności do pliku package.json w ten sposób:
Pakiety wymagane do opracowania modułu są wymienione we właściwości „devDependencies”. Te pakiety nie są konieczne, aby inni mogli korzystać z modułu, ale jeśli chcą pomóc w rozwoju modułu, te pakiety będą potrzebne. Za pomocą npm możesz dodać te devDependencies do pliku package.json w ten sposób:
źródło
Aby dodać odpowiedź Andreasa, możesz zainstalować tylko zależności, używając:
źródło
Dokumentacja od npm dla
npm install <package-name> --save
inpm install <package-name> --save-dev
można ją znaleźć tutaj:https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags
package.json
Plik deklaruje metadane o module rozwijasz. Oba wyżej wymienione polecenia modyfikują tenpackage.json
plik.--save
zadeklaruje zainstalowany pakiet (w tym przypadkugrunt
) jako zależność dla twojego modułu;--save-dev
zadeklaruje to jako zależność dla rozwoju twojego modułu.Zadaj sobie pytanie: czy zainstalowany pakiet będzie wymagany do korzystania z mojego modułu, czy tylko do jego rozwijania?
źródło
Gdy użyjesz parametru „--save”, twoja zależność przejdzie do # 1 poniżej w pliku package.json. Gdy użyjesz parametru „--save-dev”, twoja zależność przejdzie do # 2 poniżej w package.json.
# 1. „zależności”: te pakiety są wymagane przez twoją aplikację w środowisku produkcyjnym.
# 2. „devDependencies”: te pakiety są potrzebne tylko do programowania i testowania
źródło
Dla mnie pierwsza odpowiedź wydaje się nieco myląca, więc aby była krótka i czysta:
npm install <package_name>
domyślnie zapisuje określone pakiety w zależnościach . Dodatkowo możesz kontrolować miejsce i sposób ich zapisywania za pomocą dodatkowych flag:npm install <package_name> --no-save
Zapobiega zapisywaniu w zależnościach.npm install <package_name> ---save-dev
aktualizujedevDependencies
pakiet. Są one używane tylko do lokalnych testów i rozwoju.Możesz przeczytać więcej na stronie dcu
źródło