最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS項目如何打包成可執(zhí)行文件

 更新時間:2023年10月30日 10:58:53   作者:subsistent  
這篇文章主要介紹了NodeJS項目如何打包成可執(zhí)行文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

引言

我們都知道nodejs的項目本身是沒辦法編譯成二進制可執(zhí)行文件的,這給我們很多的業(yè)務場景造成了一些問題,比如要給客戶演示程序的時候,可能還得安裝node環(huán)境,然后在安裝一堆的依賴包,這還必須是網(wǎng)絡環(huán)境較好的情況下,而有時候,一般企業(yè)如果安全看的特別重,限制在局域網(wǎng)內(nèi)訪問互聯(lián)網(wǎng),那么連包都沒辦法安裝,顯然對于你和對于客戶都是不友好的情景。

還有一種情況:如果我們演示項目時,把代碼交給對方部署,我們自己也不放心?。篘odejs代碼是明文JS代碼,代碼泄露怎么辦?

當然,防代碼泄露可以用JShaman平臺對JS代碼進行混淆加密。

pkg可以直接將nodejs項目打包成可執(zhí)行文件,直接可以在沒有node環(huán)境下的freebsd,linux,alpine,macos,win上運行。

pkg打包的原理

pkg實際上并不是直接將程序轉(zhuǎn)換成可執(zhí)行文件,而是將node環(huán)境一起打包到了程序中,這樣就可以做到不用在沒有node環(huán)境下的電腦上運行node項目了,是不是很方便。

下面我就將帶領(lǐng)大家一起來看下如何使用pkg打包。

測試用例使用的是nodejs的express

使用場景

  • 在沒有來源的情況下制作商業(yè)版的應用程序
  • 在沒有來源的情況下制作應用的演示/評估/試用版
  • 立即為其他平臺制作可執(zhí)行文件(交叉編譯)
  • 制作某種自解壓存檔或安裝程序
  • 無需安裝Node.js和npm來運行打包的應用程序
  • 無需下載無數(shù)個文件npm install來部署您的應用程序。將其部署為單個文件
  • 將您的資產(chǎn)放在可執(zhí)行文件中,使其更具可移植性
  • 針對新的Node.js版本測試您的應用程序而不安裝它

舉例

簡單看下項目的目錄結(jié)構(gòu)和代碼,首先你得初始化一個express項目,添加express的依賴

運行一些index.js文件,瀏覽器打開看下效果

我們這是直接在項目中運行的,結(jié)果如上圖所示,現(xiàn)在我們的項目還是一個js文件,然后相互依賴,接下來我們使用pkg

安裝(因為電腦是windows系統(tǒng),就在windows系統(tǒng)下運行)

安裝非常簡單,需要全局安裝

npm install -g pkg

然后我們使用pkg --help先看下有哪些可用的命令

pkg可以一次為多個目標計算機生成可執(zhí)行文件。

可以通過--targets 選項指定以逗號分隔的目標列表。規(guī)范目標由3個元素組成,例如用短劃線分隔,node6-macos-x64或者node4-linux-armv6

配置

打包過程中pkg會解析項目中的資源,檢測到require,遍歷項目的依賴項并將它們包含到可執(zhí)行文件中。

有些時候我們需要手動加入資源文件路徑,比如我們這個項目中的views,我們需要改一下package.json

"pkg": { "assets": "views/**/*" }

打包(命令很簡單)

pkg index.js

然后需要等待一段時間,最終結(jié)果如下

我們打開我們的index-win.exe測試下

運行成功,然后打開瀏覽器,和之前一樣的效果

總結(jié)

pgk是一個將nodejs項目打包成可執(zhí)行文件的工具,我們可以用它做很多事情,本文只是簡單舉例,更多復雜的配置,可以配合官網(wǎng)介紹,然后運用到自己項目中。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs各種姿勢斷點調(diào)試的方法

    nodejs各種姿勢斷點調(diào)試的方法

    這篇文章主要介紹了nodejs各種姿勢斷點調(diào)試的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 詳解nodejs模板引擎制作

    詳解nodejs模板引擎制作

    本篇文章主要介紹了nodejs模板引擎制作 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • node.js實現(xiàn)登錄注冊頁面

    node.js實現(xiàn)登錄注冊頁面

    這篇文章主要為大家詳細介紹了node.js實現(xiàn)簡單的登錄注冊頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Node.js中環(huán)境變量process.env的一些事詳解

    Node.js中環(huán)境變量process.env的一些事詳解

    這篇文章主要給大家介紹了關(guān)于Node.js中環(huán)境變量process.env的一些事,文中通過示例代碼介紹的非常詳細,對大家學習或者使用node.js具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-10-10
  • 如何利用node.js開發(fā)一個生成逐幀動畫的小工具

    如何利用node.js開發(fā)一個生成逐幀動畫的小工具

    這篇文章主要給大家介紹了關(guān)于如何利用node.js開發(fā)一個生成逐幀動畫小工具的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用node.js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-12-12
  • npm與nrm兩種方式查看源和切換鏡像詳解

    npm與nrm兩種方式查看源和切換鏡像詳解

    nrm(npm registry manager )是npm的鏡像源管理工具,它可以快速在讓你在本地源之間切換,下面這篇文章主要給大家介紹了關(guān)于npm與nrm兩種方式查看源和切換鏡像的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Node.js+Express配置入門教程詳解

    Node.js+Express配置入門教程詳解

    下面小編就為大家?guī)硪黄狽ode.js+Express配置入門教程詳解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • Nest.js Controller路由和請求處理強大功能解析

    Nest.js Controller路由和請求處理強大功能解析

    這篇文章主要為大家,介紹了Nest.js Controller路由和請求處理強大功能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 拋棄Nginx使用nodejs做反向代理服務器

    拋棄Nginx使用nodejs做反向代理服務器

    每當提起反向代理器,人們通常一想到的就是 Nginx,但是今天我們暫時忽略大名鼎鼎的 Nginx,采用同樣也是使用單線程、事件循環(huán)的服務端小弟——Nodejs 來達成。
    2014-07-07
  • Node.js 在本地生成日志文件的方法

    Node.js 在本地生成日志文件的方法

    這篇文章主要介紹了Node.js 在本地生成日志文件的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02

最新評論

黑河市| 榆社县| 彩票| 梁平县| 临泉县| 壤塘县| 广丰县| 龙门县| 噶尔县| 铜梁县| 东源县| 定南县| 宜章县| 类乌齐县| 久治县| 元氏县| 深泽县| 江安县| 武夷山市| 高碑店市| 淳化县| 赫章县| 错那县| 江山市| 南华县| 宁化县| 达日县| 新巴尔虎左旗| 建德市| 年辖:市辖区| 贺州市| 达拉特旗| 长顺县| 吉木萨尔县| 仁化县| 红桥区| 周宁县| 营山县| 航空| 福鼎市| 石门县|