亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 web前端 js教程 聊聊用pkg將Node.js項目打包為可執(zhí)行文件的方法

聊聊用pkg將Node.js項目打包為可執(zhí)行文件的方法

Dec 02, 2022 pm 09:06 PM
node.js node

如何用pkg打包nodejs可執(zhí)行文件?下面本篇文章給大家介紹一下使用pkg將Node項目打包為可執(zhí)行文件的方法,希望對大家有所幫助!

聊聊用pkg將Node.js項目打包為可執(zhí)行文件的方法

使用pkg可以將Node.js項目打包為可執(zhí)行文件,甚至可以在未安裝Node.js的設備上運行?!鞠嚓P教程推薦:nodejs視頻教程

實驗環(huán)境

  • 操作系統(tǒng):windows

  • node版本: 16.14.2

操作過程

  • 下載PKG

咱們可以選擇全局安裝,在任意目錄執(zhí)行:

$?npm?install?-g?pkg
  • 打包程序

先寫一個簡單的程序,比如server.js內(nèi)容

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');
});

進入nodejs項目根目錄,執(zhí)行如下命令

$?pkg?server.js

第一次報錯

這時候會報錯

$?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'

大意是,當前環(huán)境只支持編譯為windows系統(tǒng)的可執(zhí)行文件,也就是win

調(diào)整指令為:

$?pkg?-t?win?server.js

其中-t win等同于--targets win,也就是說只為windows編譯文件。

第二次報錯

編譯時候再次報錯:

$?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:

大意是緩存里缺少相應的二進制文件fetched-v16.14.2-win-x64,咱們只要下載到相應的文件,放到相應的緩存目錄就好。

1、去官網(wǎng)下載相應版本文件,比如我的是node-v16.14.2-win-x64

官網(wǎng)地址:https://github.com/vercel/pkg-fetch/releases

image.png

2、將上一步下載的文件node-v16.14.2-win-x64重命名為fetched-v16.14.2-win-x64,放到當前用戶的緩存目錄中。

比如我的緩存目錄是C:\Users\MangoDowner.pkg-cache,拼接上fetch的tag就變成了最終的目錄,參照報錯中的信息,可以得到tag為v3.3

?{"tag":"v3.3","name":"node-v16.14.2-win-x64"}

咱們可以得到最終的父目錄為C:\Users\MangoDowner.pkg-cache\v3.3,
所以最終的文件地址為C:\Users\MangoDowner.pkg-cache\v3.3\fetched-v16.14.2-win-x64

再次編譯,成功!

$?pkg?-t?win?server.js
>?pkg@5.6.0

更多node相關知識,請訪問:nodejs 教程

以上是聊聊用pkg將Node.js項目打包為可執(zhí)行文件的方法的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

圖文詳解Node V8引擎的內(nèi)存和GC 圖文詳解Node V8引擎的內(nèi)存和GC Mar 29, 2023 pm 06:02 PM

本篇文章帶大家深入了解NodeJS V8引擎的內(nèi)存和垃圾回收器(GC),希望對大家有所幫助!

一文聊聊Node中的內(nèi)存控制 一文聊聊Node中的內(nèi)存控制 Apr 26, 2023 pm 05:37 PM

基于無阻塞、事件驅動建立的Node服務,具有內(nèi)存消耗低的優(yōu)點,非常適合處理海量的網(wǎng)絡請求。在海量請求的前提下,就需要考慮“內(nèi)存控制”的相關問題了。 1. V8的垃圾回收機制與內(nèi)存限制 Js由垃圾回收機

Pi Node教學:什么是Pi節(jié)點?如何安裝和設定Pi Node? Pi Node教學:什么是Pi節(jié)點?如何安裝和設定Pi Node? Mar 05, 2025 pm 05:57 PM

PiNetwork節(jié)點詳解及安裝指南本文將詳細介紹PiNetwork生態(tài)系統(tǒng)中的關鍵角色——Pi節(jié)點,并提供安裝和配置的完整步驟。Pi節(jié)點在PiNetwork區(qū)塊鏈測試網(wǎng)推出后,成為眾多先鋒積極參與測試的重要環(huán)節(jié),為即將到來的主網(wǎng)發(fā)布做準備。如果您還不了解PiNetwork,請參考Pi幣是什么?上市價格多少?Pi用途、挖礦及安全性分析。什么是PiNetwork?PiNetwork項目始于2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創(chuàng)建一個人人可參與

node項目中如何使用express來處理文件的上傳 node項目中如何使用express來處理文件的上傳 Mar 28, 2023 pm 07:28 PM

怎么處理文件上傳?下面本篇文章給大家介紹一下node項目中如何使用express來處理文件的上傳,希望對大家有所幫助!

一起聊聊Node中的事件循環(huán) 一起聊聊Node中的事件循環(huán) Apr 11, 2023 pm 07:08 PM

事件循環(huán)是 Node.js 的基本組成部分,通過確保主線程不被阻塞來實現(xiàn)異步編程,了解事件循環(huán)對構建高效應用程序至關重要。下面本篇文章就來帶大家深入了解Node中的事件循環(huán) ,希望對大家有所幫助!

深入淺析Node的進程管理工具“pm2” 深入淺析Node的進程管理工具“pm2” Apr 03, 2023 pm 06:02 PM

本篇文章給大家分享Node的進程管理工具“pm2”,聊聊為什么需要pm2、安裝和使用pm2的方法,希望對大家有所幫助!

node無法用npm命令怎么辦 node無法用npm命令怎么辦 Feb 08, 2023 am 10:09 AM

node無法用npm命令是因為沒有正確配置環(huán)境變量,其解決辦法是:1、打開“系統(tǒng)屬性”;2、找到“環(huán)境變量”->“系統(tǒng)變量”,然后編輯環(huán)境變量;3、找到nodejs所在的文件夾;4、點擊“確定”即可。

使用Angular和Node進行基于令牌的身份驗證 使用Angular和Node進行基于令牌的身份驗證 Sep 01, 2023 pm 02:01 PM

身份驗證是任何Web應用程序中最重要的部分之一。本教程討論基于令牌的身份驗證系統(tǒng)以及它們與傳統(tǒng)登錄系統(tǒng)的區(qū)別。在本教程結束時,您將看到一個用Angular和Node.js編寫的完整工作演示。傳統(tǒng)身份驗證系統(tǒng)在繼續(xù)基于令牌的身份驗證系統(tǒng)之前,讓我們先看一下傳統(tǒng)的身份驗證系統(tǒng)。用戶在登錄表單中提供用戶名和密碼,然后點擊登錄。發(fā)出請求后,通過查詢數(shù)據(jù)庫在后端驗證用戶。如果請求有效,則使用從數(shù)據(jù)庫中獲取的用戶信息創(chuàng)建會話,然后在響應頭中返回會話信息,以便將會話ID存儲在瀏覽器中。提供用于訪問應用程序中受

See all articles