


Parlons de la fa?on d'utiliser pkg pour empaqueter des projets Node.js dans des fichiers exécutables.
Dec 02, 2022 pm 09:06 PMComment 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 !
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
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'); });
Entrez le nodejs répertoire racine du projet, exécutez la commande suivante
$?pkg?server.js
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'
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
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:
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
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"}
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
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Cet article vous donnera une compréhension approfondie de la mémoire et du garbage collector (GC) du moteur NodeJS V8. J'espère qu'il vous sera utile !

Le service Node construit sur une base non bloquante et piloté par les événements présente l'avantage d'une faible consommation de mémoire et est très adapté à la gestion de requêtes réseau massives. Dans le contexte de demandes massives, les questions liées au ? contr?le de la mémoire ? doivent être prises en compte. 1. Le mécanisme de récupération de place du V8 et les limitations de mémoire Js sont contr?lés par la machine de récupération de place

Explication détaillée et guide d'installation pour les n?uds de pignon Cet article introduira l'écosystème de pignon en détail - n?uds PI, un r?le clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les n?uds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment gérer le téléchargement de fichiers ? L'article suivant vous expliquera comment utiliser Express pour gérer les téléchargements de fichiers dans le projet de n?ud. J'espère qu'il vous sera utile?!

La boucle d'événements est un élément fondamental de Node.js et permet une programmation asynchrone en garantissant que le thread principal n'est pas bloqué. Comprendre la boucle d'événements est crucial pour créer des applications efficaces. L'article suivant vous donnera une compréhension approfondie de la boucle d'événements dans Node. J'espère qu'il vous sera utile !

Cet article partagera avec vous l'outil de gestion de processus de Node "pm2" et expliquera pourquoi pm2 est nécessaire, comment installer et utiliser pm2, j'espère qu'il sera utile à tout le monde !

La raison pour laquelle le n?ud ne peut pas utiliser la commande npm est que les variables d'environnement ne sont pas configurées correctement. La solution est la suivante?: 1. Ouvrez "Propriétés système"?; 2. Recherchez "Variables d'environnement" -> "Variables système", puis modifiez l'environnement. variables?; 3. Recherchez l'emplacement du dossier nodejs?; 4. Cliquez sur "OK".

L'authentification est l'une des parties les plus importantes de toute application Web. Ce didacticiel traite des systèmes d'authentification basés sur des jetons et de leurs différences par rapport aux systèmes de connexion traditionnels. à la fin de ce didacticiel, vous verrez une démo entièrement fonctionnelle écrite en Angular et Node.js. Systèmes d'authentification traditionnels Avant de passer aux systèmes d'authentification basés sur des jetons, examinons les systèmes d'authentification traditionnels. L'utilisateur fournit son nom d'utilisateur et son mot de passe dans le formulaire de connexion et clique sur Connexion. Après avoir effectué la demande, authentifiez l'utilisateur sur le backend en interrogeant la base de données. Si la demande est valide, une session est créée à l'aide des informations utilisateur obtenues à partir de la base de données et les informations de session sont renvoyées dans l'en-tête de réponse afin que l'ID de session soit stocké dans le navigateur. Donne accès aux applications soumises à
