居然不必要设置Node.js,可以本地打包

Pkg 是 FreeBSD 下一代的打包管理工具,用来代表原先的
pkg_info/pkg_create/pkg_add
工具,可以本地打包,也提供远程打包,主即使为了有利于远程二进制包升级。

品种地址

Pkg 1.3.0 宣布,此版本是 29 个贡献者 9 个月劳苦付出的成果,包蕴 3七十3个文本修改。

图片 1

最首要更新内容如下:

本条项目很神奇,直接将node.js项目打包成windows可以一向实施的exe文件(也支撑FreeBSD、linux、macos、arm系统),甚至不必要设置Node.js,且不要修改你项目中的任何代码!

  • 新的解析器,pkg以往有了着实的SAT解析器,可以活动处理龃龉/并且动态发现争论。
    pkg set -o 命令方式被标记为deprecated
  • pkg install 将来得以设置本地包文件,并且从远程仓库中分析重视关系;
  • 大多数代码被改建成沙盒机制
  • 举办了大气重写以便革新移植性
  • 包安装进程机制也拓展了重写,以担保更高的安全性,并且更客观的拍卖schg标签
  • 锁机制做了根本修改,以便获取更高粒度的锁
  • 大方选拔libucl
  • 简化API
  • UI进行大量立异以便提供更好的用户体验
  • 对多仓库格局开展了大气立异
  • pkg审计代码被移到library中
  • pkg -o A=B 命令会覆盖配置文件
  • UI支持长选项
  • 包的单一性不再 origin
  • 无数bug修复
  • 不少作为behaviours修复
  • 更加多不再详述

率先安装pkg

npm install -g pkg

下一场在档次目录下执行

pkg entrance.js

即可打包linux,macos,win三个阳台的可执行文件。entrance.js为你node项目的入口文件。

比方只想打包windows下的exe,则增加-t参数。win即为打包成windows平台下的exe文件,具体可选参数参见项目目录

pkg -t win entrance.js

稍等片刻后项目目录下就会变卦打包好的entrance.exe文件。

pkg会自行从入口文件开头查找依赖的文件并全部打包进去,无须修改项目里的其余代码。

其他

pkg可以依照package.json下的安顿进行打包,私行认同入口文件为bin指向的文本。

执行

pkg .

或是

pkg package.json

即可自行依据package.json的配置打包。

//package.json
{
 //其他配置项
 "bin": "service.js",//入口文件
 "pkg": {
 "scripts": [
  "build/**/*.js"//需要打包进来的其他js文件,可添加多个
 ],
 "assets": [
  "dist/**/*"//静态文件的目录,可添加多个
 ]
 }
}

留神:静态文件须要在项目少将文件的引用换来

path.join(__dirname, 'dist')

的情势,才可以不奇怪打包,否则大概会读取不到。

示例

行使vue-cli建立项目,并动用npm run
build将您的品类编译生成静态文件到dist目录下。那一个都是vue-cli自带的内容,不再赘述。

在项目目录下新建3个service.js文件,并添加以下代码,在当地起三个express静态服务器,使您可以在该地访问你的网站(陈设到线上也是相仿)

图片 2

//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',虽然在命令行中执行起来效果是一样的,不过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}`)
})

那时候你可以在控制台执行

node service.js

来运行你的服务器了,运维成功后,浏览器访问http://localhost:8081/即可查看你的网站。

接下去我们接纳将service.js和dist目录打包成三个exe文件,方便客人使用

首先安装pkg

npm install -g pkg

下一场修改package.json,添加bin(如若不是service.js的话)和pkg项

{
 //其他配置项
 "bin": "service.js",//指定入口文件
 "pkg": {
 "assets": [
  "dist/**/*"//指定要打包的静态文件目录
 ]
 }
}

接下来在品种目录下实施

pkg -t win package.json

形成后即生成二个exe文件,双击运转即一定于实践node
service.js,然后您浏览器里(http://localhost:8081/)就能访问打包好的项目了!也不需要提前安装node,给老板演示很方便有木有!

以上那篇基于node打包可执行文件工具_Pkg使用体验分享就是小编分享给咱们的全体内容了,希望能给我们一个参阅,也可望大家多多协理脚本之家。