Node.js JXcore 打包
Node.js 采用 事件驱动 和 异步I/O 的方式,实现了一个单线程、高并发的运行时环境
因为是单线程,所以不能很好的利用多核优势
于是 JXcore 就孕育而生了
JXcore 是一个支持多线程的 Node.js 发行版本
Node.js 现有代码不需要做任何改动就可以直接线程安全地以多线程运行
本章,我们将学习如何使用 Xcore 的打包功能
JXcore 安装
JXcore 安装包里有一个 jx 命令,这个命令可以用来打包
JXcore 安装步骤如下
-
下载 JXcore 安装包 https://github.com/jxcore/jxcore-release
可以根据你自己的系统环境来下载安装包:
-
Window 平台下载: Download(Windows x64 (V8))
-
Linux / OSX 安装
使用以下命令安装 JXcore
$ curl https://www.twle.cn/static/media/jx_install.sh | bash
如果权限不足,可以使用以下命令:
curl https://www.twle.cn/static/media/jx_install.sh | sudo bash
如果一切顺利,以下命令会输出版本信息
$ jx --version v0.3.1.1
-
打包代码
假设我们某个项目有如下文件和文件夹,其中 main.js 是主文件
$ ls -lh total 16K drwxr-xr-x 2 yufei staff 64 10 25 10:19 css drwxr-xr-x 2 yufei staff 64 10 25 10:19 images -rw-r--r-- 1 yufei staff 0 10 25 10:19 index.html -rw-r--r-- 1 yufei staff 0 10 25 10:19 index.js drwxr-xr-x 2 yufei staff 64 10 25 10:19 js -rw-r--r-- 1 yufei staff 739 10 25 10:01 main.js drwxr-xr-x 22 yufei staff 704 10 25 09:18 node_modules -rw-r--r-- 1 yufei staff 1.3K 10 25 09:15 node_site.sql -rw-r--r-- 1 yufei staff 5.4K 10 25 09:18 package-lock.json
现在我们使用 jx 命令打包这个项目,并指定 index.js 为 Node.js 入口文件
$ jx package index.js hello-jxcore
执行以上命令后,会生成两个文件:
-
hello-jxcore.jxp 是一个中间件文件,包含了需要编译的完整项目信息
-
hello-jxcore.jx 是一个完整包信息的二进制文件,可运行在客户端上
载入 JX 文件
使用 JXcore jx 命令打包后,可以使用以下命令来执行生成的 jx 二进制文件
$ jx hello-jxcore.jx command_line_arguments
更多 JXcore 功能特性你可以参考官网: https://github.com/jxcore/jxcore