Maison > interface Web > js tutoriel > le corps du texte

Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables.

青灯夜游
Libérer: 2022-12-02 21:06:11
avant
4807 Les gens l'ont consulté

Comment empaqueter le fichier exécutable nodejs avec pkg ? L'article suivant vous présentera comment utiliser pkg pour empaqueter le projet Node dans un fichier exécutable. J'espère qu'il vous sera utile !

Parlons de la façon d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables.

En utilisant pkg, vous pouvez empaqueter votre projet Node.js dans un fichier exécutable qui peut même être exécuté sur des appareils sur lesquels Node.js n'est pas installé. [Recommandations de didacticiel associées : Tutoriel vidéo Nodejs]

Environnement expérimental

  • Système d'exploitation : Windows

  • Version du nœud : 16.14.2

Processus de fonctionnement

  • Téléchargez PKG

Nous pouvons choisir de l'installer globalement et de l'exécuter dans n'importe quel répertoire :

$ npm install -g pkg
Copier après la connexion
  • Programme d'emballage

Écrivez d'abord un programme simple, tel que le contenu de 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');
});
Copier après la connexion

Entrez le nodejs répertoire racine du projet, exécutez la commande suivante

$ pkg server.js
Copier après la connexion

La première erreur est signalée

À ce moment, une erreur sera signalée

$ 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'
Copier après la connexion

L'idée générale est que l'environnement actuel ne prend en charge que les fichiers exécutables compilés dans les systèmes Windows, qui Autrement dit, les instructions d'ajustement de win

sont :

$ pkg -t win server.js
Copier après la connexion

où -t win est équivalent à --targets win, ce qui signifie que les fichiers sont compilés uniquement pour Windows.

La deuxième erreur est signalée

Une erreur est à nouveau signalée lors de la compilation :

$ 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:
Copier après la connexion

L'idée principale est que le fichier binaire correspondant fetched-v16.14.2-win-x64 est manquant dans le cache. téléchargez le fichier correspondant et placez-le dans le cache correspondant Juste le répertoire.

1. Allez sur le site officiel pour télécharger le fichier de version correspondant, par exemple, le mien est node-v16.14.2-win-x64

Adresse du site officiel : https://github.com/vercel/pkg- fetch/releases

Parlons de la façon dutiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables.

2. Renommez le fichier node-v16.14.2-win-x64 téléchargé à l'étape précédente en fetched-v16.14.2-win-x64 et placez-le dans le répertoire cache de l'utilisateur actuel.

Par exemple, mon répertoire de cache est C:UsersMangoDowner.pkg-cache Après avoir épissé la balise fetch, elle devient le répertoire final. En nous référant aux informations contenues dans le rapport d'erreur, nous pouvons comprendre que la balise est v3.3.

 {"tag":"v3.3","name":"node-v16.14.2-win-x64"}
Copier après la connexion

Nous pouvons obtenir Le répertoire parent final est C:UsersMangoDowner.pkg-cachev3.3,
Donc l'adresse finale du fichier est C:UsersMangoDowner.pkg-cachev3.3fetched-v16.14.2-win-x64

Compilez à nouveau, succès!

$ pkg -t win server.js
> pkg@5.6.0
Copier après la connexion

Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel Nodejs !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!