Grunt.js: co oznacza-save-dev w npm install grunt --save-dev
Właśnie zacząłem używać Grunt.js . Jest to dość trudne do skonfigurowania i jestem w momencie tworzenia pliku package.json
.
Po tym tutorialu , jest napisane, że istnieją 3 sposoby na utworzenie pliku package.json
.
Pierwszy to zrobić npm install grunt --save-dev
Ale co oznacza --save-dev
? próbowałem szukać, ale skończyło się na próżno.
5 answers
--save-dev: Pakiet pojawi się w twoim devDependencies.
Zgodnie z npm install docs .
Jeśli ktoś planuje pobrać i używać twojego modułu w swoim programie, to prawdopodobnie nie chce lub nie musi pobierać i budować zewnętrznego frameworka testowego lub dokumentacji, którego używasz.
Innymi słowy, po uruchomieniu npm install
zostaną zainstalowane devDependencies twojego projektu, ale devDependencies dla wszystkich pakietów, które aplikacja zależy od nie zostanie zainstalowana; ponadto inne aplikacje posiadające aplikację jako zależność nie muszą instalować devDependencies. Takie moduły powinny być potrzebne tylko przy tworzeniu aplikacji(np. grunt, mocha itp.).
Zgodnie z pakietem.JSON docs .
Edit: próba wizualizacji tego, conpm install
robi:
- yourproject
- instalacja zależności
- dependecy installed
- dependecy installed
devDependency nie jest zainstalowany
devDependency nie jest zainstalowany
- dependecy installed
-
devDependency zainstalowany
- dependecy installed
devDependency nie jest zainstalowany
- instalacja zależności
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-15 12:41:33
Istnieją (co najmniej) dwa typy zależności pakietu, które możesz wskazać w pakiecie.pliki json:
-
Pakiety, które są wymagane do użycia twojego modułu są wymienione we właściwości "dependencies". Używając npm możesz dodać te zależności do swojego pakietu.plik json w ten sposób:
npm install --save packageName
-
Pakiety wymagane do pomocy w rozwijaniu twojego modułu są wymienione we właściwości "devDependencies". Pakiety te nie są konieczne, aby inni mogli korzystać z modułu, ale jeśli chcą pomóc w jego rozwoju, pakiety te będą potrzebne. Używając npm możesz dodać te devDependencies do swojego pakietu.plik json w ten sposób:
npm install --save-dev packageName
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-28 18:18:32
Aby dodać do odpowiedzi Andreasa, ponieważ nie mogę jeszcze komentować, możesz zainstalować tylko zależności za pomocą:
npm install --production
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-24 19:56:27
Dokumentacja z npm dla npm install <package-name> --save
i npm install <package-name> --save-dev
można znaleźć tutaj:
Https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags
Plik package.json
deklaruje metadane dotyczące rozwijanego modułu. Oba powyższe polecenia modyfikują ten plik package.json
. --save
zadeklaruje zainstalowany pakiet (w tym przypadku grunt
) jako zależność dla Twojego modułu; --save-dev
zadeklaruje go jako zależność dla rozwoju twojego modułu moduł.
Zadaj sobie pytanie: czy zainstalowany pakiet będzie wymagany do korzystania z mojego modułu, czy tylko do jego rozwijania?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-24 21:19:14
Gdy użyjesz parametru "--save", twoja zależność wejdzie do pakietu #1 in.json. Gdy użyjesz parametru "--save-dev", twoja zależność wejdzie do pakietu #2 in.json.
1) "zależności" : te pakiety są wymagane przez Twoją aplikację podczas produkcji.
2)" devDependencies": te pakiety są potrzebne tylko do rozwoju i testowania
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-05 00:23:55