Soll package.json manuell bearbeitet werden? Könnte ein Programm wie npm nicht einfach durch die Dateien schauen, die "require"-Anweisungen sehen und diese dann benutzen, um die notwendigen Einträge in die package.json-Datei zu setzen? Gibt es solche Programme?
Antworten
Zu viele Anzeigen?Sie können nun Folgendes verwenden Yeoman - Modernes Web-App-Gerüstbauwerkzeug auf dem Node-Terminal in 3 einfachen Schritten.
Zunächst müssen Sie yo und andere erforderliche Tools installieren:
$ npm install -g yo bower grunt-cli gulp
Um eine Webanwendung einzurüsten, installieren Sie das generator-webapp Generator:
$ npm install -g generator-webapp // create scaffolding
Lauf yo und... du bist fertig:
$ yo webapp // create scaffolding
Yeoman kann Boilerplate-Code für Ihre gesamte Webanwendung oder für Controller und Modelle schreiben. Es kann einen Live-Vorschau-Webserver für Bearbeitungen und Kompilierung starten; nicht nur das, Sie können auch Ihre Unit-Tests ausführen, Ihren Code minimieren und verketten, Bilder optimieren und mehr...
Yeoman (yo) - Gerüstwerkzeug, das ein Ökosystem von rahmenspezifischen Gerüsten, den so genannten Generatoren, bietet, mit denen einige der oben genannten mühsamen Aufgaben erledigt werden können.
Grunzen / schlucken - zur Erstellung, Vorschau und Prüfung Ihres Projekts verwendet.
Laube - wird für das Abhängigkeitsmanagement verwendet, so dass Sie Ihre Front-End-Bibliotheken nicht mehr manuell herunterladen müssen.
1. Auswahl
Wenn Sie Git- und GitHub-Benutzer:
generate-package
einfacher, als npm init
.
sinon
und/oder die Sie nicht mögen package.json
Vorlage, dass generate-package oder npm init
erzeugen:
können Sie Ihre eigene Vorlage über Scaffolding-Apps wie erzeugen , segelt o Yeoman .
2. Relevanz
Diese Antwort ist relevant für März 2018. In Zukunft können die Daten aus dieser Antwort veraltet sein.
Der Autor dieser Antwort hat generate-package im März 2018 persönlich genutzt.
3. Beschränkungen
Sie müssen git und GitHub verwenden, um generate-package zu nutzen.
4. Vorführung
Ich erstelle zum Beispiel einen leeren Ordner sasha-npm-init-vs-generate-package
.
4.1. generate-package
Befehl:
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>gen package
[16:58:52] starting generate
[16:59:01] running tasks: [ 'package' ]
[16:59:04] starting package
? Project description? generate-package demo
? Author's name? Sasha Chernykh
? Author's URL? https://vk.com/hair_in_the_wind
[17:00:19] finished package 1m
package.json
:
{
"name": "sasha-npm-init-vs-generate-package",
"description": "generate-package demo",
"version": "0.1.0",
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package",
"author": "Sasha Chernykh (https://vk.com/hair_in_the_wind)",
"repository": "Kristinita/sasha-npm-init-vs-generate-package",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"license": "MIT",
"engines": {
"node": ">=4"
},
"scripts": {
"test": "mocha"
},
"keywords": [
"generate",
"init",
"npm",
"package",
"sasha",
"vs"
]
}
4.2. npm init
D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package>npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (sasha-npm-init-vs-generate-package)
version: (1.0.0) 0.1.0
description: npm init demo
entry point: (index.js)
test command: mocha
git repository: https://github.com/Kristinita/sasha-npm-init-vs-generate-package
keywords: generate, package, npm, package, sasha, vs
author: Sasha Chernykh
license: (ISC) MIT
About to write to D:\SashaDemoRepositories\sasha-npm-init-vs-generate-package\package.json:
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
Is this ok? (yes) y
{
"name": "sasha-npm-init-vs-generate-package",
"version": "0.1.0",
"description": "npm init demo",
"main": "index.js",
"scripts": {
"test": "mocha"
},
"repository": {
"type": "git",
"url": "git+https://github.com/Kristinita/sasha-npm-init-vs-generate-package.git"
},
"keywords": [
"generate",
"package",
"npm",
"package",
"sasha",
"vs"
],
"author": "Sasha Chernykh",
"license": "MIT",
"bugs": {
"url": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package/issues"
},
"homepage": "https://github.com/Kristinita/sasha-npm-init-vs-generate-package#readme"
}
Ich denke, dass generate-package
einfacher gesagt, dass npm init
.
5. Anpassen
Das schaffen Sie selbst package.json
Vorlage, siehe erzeugen y Yeoman Beispiele.