中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

項(xiàng)目地址

海興網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),海興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為海興上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的海興做網(wǎng)站的公司定做!

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

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

首先安裝pkg

npm install -g pkg

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

pkg entrance.js

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

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

pkg -t win entrance.js

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

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

其他

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

或是

pkg package.json

即可自動(dòng)按照package.json的配置打包。

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

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

path.join(__dirname, 'dist')

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

示例

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

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

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

//service.js
const express = require('express');
const app = express();
const path = require('path');
 
app.use(express.static(path.join(__dirname, 'dist')));//注意這里使用path.join(__dirname, 'dist')而不是'dist',雖然在命令行中執(zhí)行起來(lái)效果是一樣的,不過pkg打包會(huì)無(wú)法識(shí)別到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}`)
})

此時(shí)你可以在控制臺(tái)執(zhí)行

node service.js

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

接下來(lái)我們使用將service.js和dist目錄打包成一個(gè)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

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

以上這篇基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)站題目:基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享
文章源于:http://www.rwnh.cn/article48/jieoep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)域名注冊(cè)、用戶體驗(yàn)小程序開發(fā)、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
五峰| 罗江县| 富锦市| 五大连池市| 尼木县| 成都市| 武川县| 大兴区| 稻城县| 宜兰市| 广安市| 彩票| 德惠市| 鸡西市| 嘉鱼县| 苍梧县| 新源县| 阿荣旗| 新津县| 黄冈市| 宜兰县| 平遥县| 麻栗坡县| 莒南县| 镇远县| 蛟河市| 西丰县| 长沙市| 屏边| 都昌县| 渭源县| 罗江县| 多伦县| 望都县| 讷河市| 青神县| 惠水县| 汉寿县| 肇州县| 漳州市| 金寨县|