Heim >Web-Frontend >js-Tutorial >Lassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien 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. [Verwandte Tutorial-Empfehlungen: nodejs-Video-Tutorial]
Experimentelle Umgebung
Betriebssystem: Windows
Knotenversion: 16.14.2
Betriebsprozess
PKG herunterladen
Wir können es global installieren und in einem beliebigen Verzeichnis ausführen:
$ npm install -g pkg
Paketierungsprogramm
Schreiben Sie zuerst 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 die Nodejs ein Projektstammverzeichnis, 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'
Die allgemeine Idee ist, dass die aktuelle Umgebung nur in Windows-Systemen kompilierte ausführbare Dateien unterstützt Das heißt, die win
Anpassungsanweisungen lauten:
$ pkg -t win server.js
wobei -t win äquivalent zu --targets win ist, was bedeutet, dass Dateien nur für Windows kompiliert werden.
Der zweite Fehler wird gemeldet
Beim Kompilieren wird erneut ein Fehler gemeldet:
$ 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:
Die 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-x64
Offizielle 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
{"tag":"v3.3","name":"node-v16.14.2-win-x64"}
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!
$ pkg -t win server.js > pkg@5.6.0
Weitere Informationen zu Knoten finden Sie unter: nodejs-Tutorial!
Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie mit pkg Node.js-Projekte in ausführbare Dateien packen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!