Heim > Web-Frontend > js-Tutorial > Hauptteil

Einführung in npm&package.json in Nodejs

零下一度
Freigeben: 2017-06-17 10:38:48
Original
1313 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die detaillierte Erklärung von npm&package.json von Nodejs vorgestellt. Der Herausgeber findet es ziemlich gut, daher werde ich es jetzt mit Ihnen teilen und als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf

Als Front-End-Entwickler im Unternehmen schreibe ich die ganze Zeit zuerst die Seite und arbeite dann mit dem Back-End zusammen, um die Daten in die Front einzutragen -Endseite, aber gelegentlich habe ich Freizeit, ich werde mir auch einige Frameworks usw. ansehen und dann das Framework verwenden, um eine einseitige Anwendung, App usw. zu erstellen. Zu diesem Zeitpunkt sind die Daten verfügbar Die Seite enthält immer gefälschte Daten und es gibt keine Möglichkeit, den Datenanforderungsteil durchzuführen (da es keinen Hintergrund gibt). Daher denke ich, dass es an der Zeit ist, Node zu lernen, was auch für Webpack, Front-End-Engineering usw. hilfreich sein wird, die ich in Zukunft lernen werde.
Da als Frontend häufig Tools wie gulp und webpack verwendet werden, sehen wir am häufigsten npm und package.json. Fassen wir sie also zunächst zusammen.

npm

Initialisierung


$ npm init
or
$ npm init --y
Nach dem Login kopieren

Bei der Front-End-Entwicklung verwenden wir häufig Build-Tools wie Gulp, Webpack usw. Um anderen die Teilnahme zu ermöglichen, müssen wir anderen mitteilen, welche Abhängigkeiten das Projekt hat, und dann andere die gleichen Abhängigkeiten installieren lassen .-Paket und die von npm init generierte Datei package.json werden zum Aufzeichnen der Abhängigkeiten in unserem Projekt verwendet. Ebenso werden bei der Knotenentwicklung auch Abhängigkeitspakete verwendet, und es werden auch package.json-Datensätze benötigt.

Geben Sie npm init in das Terminal ein und es werden zur Bestätigung verschiedene Informationen zu package.json abgefragt. Wenn alle den Standardwert verwenden, können Sie npm init --y direkt im Terminal eingeben, um package.json schnell zu generieren.

Abhängigkeitspakete installieren


$ npm install <package name> <package name> ...

$ npm install <package name> -g

$ npm install <package name> --save

$ npm install <package name> --save-dev

$ npm install <pacakage name> --O //--save-optional -B: --save-bundle -E: --save-exact
Nach dem Login kopieren

npm install <package name> -g bedeutet globale Installation. Es ist zu beachten, dass der globale Modus nicht bedeutet Eine globale Installation. Das Modulinstallationspaket wird als globales Paket installiert. Dies bedeutet nicht, dass es von überall aus über require() referenziert werden kann verfügbarer ausführbarer Befehl. Dies bedeutet, dass alle über -g installierten Pakete im Befehlsmodus im Terminal ausgeführt werden können, z. B. gulp, webpack usw. Der Unterschied zwischen

--save und --save-dev besteht darin, dass ersteres eine Abhängigkeit ist, die zum Ausführen des Projekts in der Produktionsumgebung erforderlich ist und nach der Installation unter dem Schlüsselwort dependencies in package.json aufgezeichnet wird, während letzteres; ist eine Abhängigkeit, die während der Entwicklung benötigt wird und nach der Installation unter dem Schlüsselwort devDependencies aufgezeichnet wird.

Ebenso --O/B/E werden jeweils unter den entsprechenden Schlüsselwörtern erfasst.

Abhängigkeitspakete aktualisieren


$ npm update

$ npm update -g

$ npm outdated

$ npm outdated -g
Nach dem Login kopieren

Im Projektverzeichnis ausführen npm update, um die im Projekt verwendeten Abhängigkeiten zu aktualisieren die neueste Version und npm update -g kann global installierte Abhängigkeitspakete auf die neueste Version aktualisieren.

npm outdated wird verwendet, um zu prüfen, ob Module veraltet sind, und um sie aufzulisten.

Abhängigkeiten deinstallieren


$ npm uninstall <package name> <package name> ...

$ npm uninstall <package name> -g

$ npm uninstall <package name> --save

$ npm uninstall <package name> --save-dev
Nach dem Login kopieren

Verwenden Sie npm uninstall, um Abhängigkeiten zu deinstallieren, aber nach der Deinstallation in package.json Die Datensätze Wenn Sie die Datensätze in package.json während der Deinstallation von Abhängigkeiten löschen möchten, müssen Sie bei der Deinstallation alle Optionen verwenden. Wenn Sie beispielsweise während der Installation npm install <package name> --save verwenden, verwenden Sie auch npm uninstall <pacakage name> --save, und wenn --save-dev verwendet wird, müssen Sie bei der Deinstallation dieselbe Option hinzufügen.

Benutzerdefinierten npm-Befehl verwenden

In package.json gibt es ein Schlüsselwort scripts, Sie müssen nur den benutzerdefinierten Befehl innerhalb des Schlüsselworts schreiben und einfach entsprechen der tatsächlich ausgeführte Befehl.


"scripts":{
  "test": "nonde ./test.js",
  "dev": "gulp --gulpfile gulpfile-dev.js",
  "build": "gulp --gulpfile gulpfile-build.js"
}
Nach dem Login kopieren

Solange wir in der obigen Konfiguration npm dev im Terminal ausführen, führen wir gulp --gulpfile gulpfile-dev.js aus, was uns spart die Notwendigkeit Es ist sehr praktisch, einen langen Befehl in das Terminal einzugeben.

Andere

npm view <pacakage name>Sie können die package.json-Datei des Pakets anzeigen. Wenn Sie nur eine bestimmte Funktion des Pakets sehen möchten, fügen Sie einfach die hinzu Der entsprechende Schlüssel am Ende dient beispielsweise zum Anzeigen der aktuell installierten Zepto-Version, v ist die Abkürzung für view. npm v zepto version

kann alle Pakete analysieren, die über den Modulpfad unter dem aktuellen Projekt gefunden werden können, und einen Abhängigkeitsbaum generieren. npm ls

Sie können die offizielle Website des abhängigen Pakets öffnen, wodurch tatsächlich die Homepage in package.json geöffnet wird. npm doc <package name>

package.json-Datei

Nach dem Ausführen von

wird eine package.json-Datei generiert, die verwendet wird Zeichnen Sie das Projekt auf. Die im Projekt verwendeten Abhängigkeiten und die Projektkonfigurationsinformationen (wie Name, Version, Lizenz usw.). Der Befehl npm init lädt automatisch die für den Projektbetrieb und die Entwicklung erforderlichen Abhängigkeiten basierend auf dieser npm installKonfigurationsdatei herunter.

一个比较完整的package.json文件如下:


{
  "name": "project",
  "version": "1.0.0",
  "author": "张三",
  "description": "第一个node.js程序",
  "keywords":["node.js","javascript"],
  "repository": {
    "type": "git",
    "url": "https://path/to/url"
  },
  "license":"MIT",
  "engines": {"node": "0.10.x"},
  "bugs":{"url":"http://path/to/bug","email":"bug@example.com"},
  "contributors":[{"name":"李四","email":"lisi@example.com"}],
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "latest",
    "mongoose": "~3.8.3"
  },
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-concat": "~0.3.0"
  }
}
Nach dem Login kopieren

在package.json中一些关键字的含义:

1.name:包名

2.version:版本号

3.description:包的描述

4.homepage:包的官网url

5.autor:包的作者名字

6.contributors:包的其他贡献者

7.dependencies:依赖包的列表,使用npm install可以安装依赖包到node_medule目录下

8.repository:包代码存放的地方,可以是git或者svn

9.keywords:关键字

10.scripts:脚本说明对象。它主要被包管理器用来安装、编译、测试和卸载包,示例如下:


"scripts":{

  “install”:"install.js",

  "test":"test.js"

}
Nach dem Login kopieren

11.main:模块引入方法require()在引入包时,会优先检查这个字段,并将其作为包中其余模块的入口,如果该字段不存在,则node会检查目录下的index.js,index.node,index.json作为默认入口。

12.devDependencies:一些模块只在开发时需要依赖,配置这个属性,可以提示包的后续开发者安装依赖包

Das obige ist der detaillierte Inhalt vonEinführung in npm&package.json in Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage