Heim >Web-Frontend >js-Tutorial >Wie verwende ich pkg, um das Node.js-Projekt in eine ausführbare Datei zu packen?
Wie packe ich die ausführbare Datei von nodejs mit pkg? Im folgenden Artikel erfahren Sie, wie Sie mit pkg das Node-Projekt in eine ausführbare Datei packen. Ich hoffe, es hilft Ihnen weiter!
Mit pkg können Sie Ihr Node.js-Projekt in eine ausführbare Datei packen, die sogar auf Geräten ausgeführt werden kann, auf denen Node.js nicht installiert ist.
Experimentelle Umgebung
Betriebssystem: Windows
Knotenversion: 16.14.2
Betrieb. Prozess
PKG herunterladen
Wir können das auswählen global Zum Installieren in einem beliebigen Verzeichnis ausführen:
$ npm install -g pkg
Paketprogramm
Schreiben Sie zunächst ein einfaches Programm, z. B. den Inhalt von server.js
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => { console.log('Express web app on localhost:3000'); });
Geben Sie das Stammverzeichnis des NodeJS-Projekts ein und führen Sie den folgenden Befehl aus
$ pkg server.js
Der erste Fehler wird gemeldet.
Zu diesem Zeitpunkt wird ein Fehler gemeldet
$ pkg server.js > pkg@5.6.0 > Targets not specified. Assuming: node16-linux-x64, node16-macos-x64, node16-win-x64 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-linux-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-linux-x64"} > Building base binary from source: built-v16.14.2-linux-x64 > Error! Not able to build for 'linux' here, only for 'win'wobei -t win äquivalent zu --targets win ist, das heißt, die Dateien werden nur für Windows kompiliert.
Der zweite Fehler wird gemeldet
Beim Kompilieren wird erneut ein Fehler gemeldet:$ pkg -t win server.jsDie Hauptidee ist, dass die entsprechende Binärdatei fetched-v16.14.2-win-x64 im Cache fehlt Laden Sie die entsprechende Datei herunter und legen Sie sie im entsprechenden Cache ab. 1. Gehen Sie zur
offiziellen Website
, um die entsprechende Versionsdatei herunterzuladen, meine ist beispielsweise node-v16.14.2-win-x64Offizielle Website-Adresse: https://github.com/vercel/pkg- fetch/releases
2. Benennen Sie die im vorherigen Schritt heruntergeladene Datei node-v16.14.2-win-x64 in fetched-v16.14.2-win-x64 um und legen Sie sie im Cache-Verzeichnis des aktuellen Benutzers ab.
Mein Cache-Verzeichnis ist beispielsweise C:UsersMangoDowner.pkg-cache
Nach dem Zusammenfügen des Abruf-Tags wird es zum endgültigen Verzeichnis. Anhand der Informationen im Fehlerbericht können wir erkennen, dass es sich bei dem Tag um v3.3 handelt$ pkg -t win server.js > pkg@5.6.0 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-win-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-win-x64"} > Building base binary from source: built-v16.14.2-win-x64 > Fetching Node.js source archive from nodejs.org... > Error! AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:Wir können erhalten. Das endgültige übergeordnete Verzeichnis lautet C:UsersMangoDowner.pkg-cachev3.3.
Die endgültige Dateiadresse lautet also C:UsersMangoDowner.pkg-cachev3.3fetched-v16.14.2-win-x64. Erneut kompilieren. Erfolg!
{"tag":"v3.3","name":"node-v16.14.2-win-x64"}
Weitere Informationen zu Knoten finden Sie unter:
nodejs-Tutorial
Das obige ist der detaillierte Inhalt vonWie verwende ich pkg, um das Node.js-Projekt in eine ausführbare Datei zu packen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!