lock.js - 使用 Nodejs 把项目打包成一个可执行文件
lock.js - 使用 Nodejs 把项目打包成一个可执行文件
地址: https://github.com/DavidCai1993/lock.js
特性:
- 将 Node.js 项目打包成一个可执行文件,直接执行。
- 可执行文件的编译生成基于密钥,可用于加密项目源代码。
- 支持项目中的 C++ 拓展。
- 支持大多数不需
fd
的fs
read 方法。 - 可执行文件中运行的 Node.js 版本为其生成当下最新的 Node.js 版本(编译时链接其动态库)。
欢迎大家使用试玩,虽然感觉应该还有不少坑~也欢迎 star ~欢迎 PR ~
npm install 后很多本来就可以直接执行,为什么需要打包?
如果是桌面应用,都是自带打包的,如 electron-packager
那么问题来了,这个轮子意义是?
加密?
如果是 electron 做出来的应用,能不能打包成一个独立的 exe 文件?
没装 node 呢
2 , 3 楼的回复都阔以回答~
node electron 都自带调试,所以加密的意义是?
比如说可以是保密源代码
js 最多就是混淆,要保密,换编译型的语言吧。
恩,若在一开选择的时候, JS 必须不是首选~
读了代码,这加密了和没加密有什么区别?我还不如创建一个自解压文件……
二进制可执行文件如何看到源码…
有计划支持 windows 吗
根据你这个文件格式直接做解析器就好了啊……无非解密变的麻烦了一点罢了……
简单看了一下,错了请指正。感觉就是一个加密打包而已,对代码的保护好像病没有什么意义。。。我还以为是类似这样的东西 https://github.com/nwjs/nw.js/wiki/protect-javascript-source-code-with-v8-snapshot
恩前提是有 key
你部署执行的时候必须要有 key ,除非机器也是你控制的,否则的话要拿到 key 也容易。
恩用 key 折中因为考虑要到对应平台上编译,挺头疼的~
在Node.js中,将项目打包成一个可执行文件(executable file)通常可以通过一些工具来实现,比如pkg
。pkg
允许你将Node.js项目打包成适用于Windows、macOS和Linux的可执行文件。下面是一个简单的步骤说明,以及如何使用lock.js
(假设这是一个你的Node.js项目文件名)来打包项目的示例。
首先,你需要安装pkg
。你可以通过npm来安装它:
npm install -g pkg
然后,确保你的package.json
文件中的bin
字段正确指向了你的入口文件(比如lock.js
)。例如:
{
"name": "your-project-name",
"version": "1.0.0",
"bin": "./lock.js",
"scripts": {
"start": "node lock.js"
},
...
}
注意:如果你的入口文件是JavaScript模块,确保它可以在没有node
命令的情况下直接运行(即它是一个完整的可执行脚本)。
接下来,你可以使用pkg
来打包你的项目:
pkg .
这将生成适用于你当前操作系统的可执行文件。如果你需要为其他平台生成文件,可以使用--targets
选项,比如:
pkg . --targets node14-linux-x64,node14-macos-x64,node14-win-x64
这将会为Node.js 14版本在Linux、macOS和Windows上生成可执行文件。
完成这些步骤后,你将能够在没有Node.js环境的情况下运行你的lock.js
项目。