国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享

2019-11-19 14:29:13
字體:
供稿:網(wǎng)友

項(xiàng)目地址

這個項(xiàng)目很神奇,直接將node.js項(xiàng)目打包成windows可以直接執(zhí)行的exe文件(也支持FreeBSD、linux、macos、arm系統(tǒng)),甚至不需要安裝Node.js,且無須修改你項(xiàng)目中的任何代碼!

首先安裝pkg

npm install -g pkg

然后在項(xiàng)目目錄下執(zhí)行

pkg entrance.js

即可打包linux,macos,win3個平臺的可執(zhí)行文件。entrance.js為你node項(xiàng)目的入口文件。

如果只想打包windows下的exe,則加上-t參數(shù)。win即為打包成windows平臺下的exe文件,具體可選參數(shù)參見項(xiàng)目目錄

pkg -t win entrance.js

稍等片刻后項(xiàng)目目錄下就會生成打包好的entrance.exe文件。

pkg會自動從入口文件開始查找依賴的文件并全數(shù)打包進(jìn)去,無須修改項(xiàng)目里的任何代碼。

其他

pkg可以根據(jù)package.json下的配置進(jìn)行打包,默認(rèn)入口文件為bin指向的文件。
執(zhí)行
pkg .

或是

pkg package.json

即可自動按照package.json的配置打包。

//package.json{ //其他配置項(xiàng) "bin": "service.js",//入口文件 "pkg": { "scripts": [  "build/**/*.js"http://需要打包進(jìn)來的其他js文件,可添加多個 ], "assets": [  "dist/**/*"http://靜態(tài)文件的目錄,可添加多個 ] }}

注意:靜態(tài)文件需要在項(xiàng)目中將文件的引用換成

path.join(__dirname, 'dist')

的形式,才可以正常打包,否則可能會讀取不到。

示例

使用vue-cli建立項(xiàng)目,并使用npm run build將你的項(xiàng)目編譯生成靜態(tài)文件到dist目錄下。這些都是vue-cli自帶的內(nèi)容,不再贅述。

在項(xiàng)目目錄下新建一個service.js文件,并添加以下代碼,在本地起一個express靜態(tài)服務(wù)器,使你能夠在本地訪問你的網(wǎng)站(部署到線上也是類似)

//service.jsconst express = require('express');const app = express();const path = require('path'); app.use(express.static(path.join(__dirname, 'dist')));//注意這里使用path.join(__dirname, 'dist')而不是'dist',雖然在命令行中執(zhí)行起來效果是一樣的,不過pkg打包會無法識別到dist目錄 var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log(`AIbuy agents server start successfully on http://${host}:${port}`)})

此時你可以在控制臺執(zhí)行

node service.js

來啟動你的服務(wù)器了,啟動完成后,瀏覽器訪問http://localhost:8081/即可查看你的網(wǎng)站。

接下來我們使用將service.js和dist目錄打包成一個exe文件,方便他人使用

首先安裝pkg

npm install -g pkg

然后修改package.json,添加bin(如果不是service.js的話)和pkg項(xiàng)

{ //其他配置項(xiàng) "bin": "service.js",//指定入口文件 "pkg": { "assets": [  "dist/**/*"http://指定要打包的靜態(tài)文件目錄 ] }}

然后在項(xiàng)目目錄下執(zhí)行

pkg -t win package.json

完成后即生成一個exe文件,雙擊啟動即相當(dāng)于執(zhí)行node service.js,然后你瀏覽器里(http://localhost:8081/)就能訪問打包好的項(xiàng)目了!也不需要提前安裝node,給老板演示很方便有木有!

以上這篇基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 句容市| 镇原县| 呼和浩特市| 天气| 班戈县| 中阳县| 桑植县| 瓦房店市| 玛曲县| 连州市| 石林| 苍南县| 遂溪县| 沈丘县| 临湘市| 安仁县| 卢龙县| 清水河县| 永年县| 习水县| 法库县| 双牌县| 西乌珠穆沁旗| 阿克陶县| 武鸣县| 孟连| 读书| 陵水| 灵宝市| 渭源县| 贡嘎县| 独山县| 福泉市| 云龙县| 宜宾县| 凌源市| 资溪县| 永胜县| 固原市| 天水市| 葫芦岛市|