Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie verwende ich pkg, um das Node.js-Projekt in eine ausführbare Datei zu packen?

青灯夜游
Freigeben: 2022-07-29 21:03:34
nach vorne
3802 Leute haben es durchsucht

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!

Wie verwende ich pkg, um das Node.js-Projekt in eine ausführbare Datei zu packen?

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
Nach dem Login kopieren
  • 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');
});
Nach dem Login kopieren

Geben Sie das Stammverzeichnis des NodeJS-Projekts ein und führen Sie den folgenden Befehl aus

$ pkg server.js
Nach dem Login kopieren

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'
Nach dem Login kopieren
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.js
Nach dem Login kopieren
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 Wie verwende ich pkg, um das Node.js-Projekt in eine ausführbare Datei zu packen?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:
Nach dem Login kopieren
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"}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:segmentfault.com
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!