454 Stimmen

Gibt es eine Möglichkeit, die package.json-Datei für Node.js-Projekte automatisch zu erstellen?

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?

17voto

Abhinav Singi Punkte 3311

Ejecutar npm init -y macht Ihr package.json mit allen Standardeinstellungen.
Sie können dann ändern package.json entsprechend
Dies spart oft Zeit, da das Drücken von enter bei jedem Befehl in npm init

6voto

Adesh M Punkte 436

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.

5voto

Anmol Saraf Punkte 14035

Basierend auf der Antwort von Pylinux finden Sie hier eine Lösung für Windows OS,

dir node_modules > abc.txt
FOR /F %k in (abc.txt) DO npm install --save

Ich hoffe, es hilft.

2voto

Nitin Nodiyal Punkte 21

Verwenden Sie den Befehl npm init -f, um die Datei package.json zu erzeugen, und verwenden Sie danach --save nach jedem Befehl, damit jedes Modul automatisch in Ihrer package.json aktualisiert wird zum Beispiel: npm install express --save

2voto

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X