使用pkg
工具可以将ThinkJS
项目打包成一个可以在不需要安装Node.js
的情况下直接运行的可执行文件,具体步骤如下:
步骤一:安装pkg
在终端中执行以下命令安装pkg
:
npm install -g pkg
步骤二:准备打包文件
首先需要确保ThinkJS
项目已经正常运行。然后在项目根目录下创建以下文件:
build.sh
config.json
其中build.sh
是用于执行打包命令的脚本文件,config.json
是用于配置打包信息的文件。
步骤三:编辑config.json文件
打开config.json
文件,添加以下内容:
{
"name": "myapp",
"version": "1.0.0",
"description": "My Awesome App",
"main": "src/index.js",
"scripts": {
"start": "node ."
}
}
需要根据实际情况修改相应的值,其中:
name
:项目名称version
:项目版本号description
:项目描述main
:入口文件路径,这里填写ThinkJS
的入口文件路径scripts
:项目启动脚本
步骤四:编辑build.sh文件
打开build.sh
文件,添加以下内容:
#!/bin/bash
# 删除旧的构建文件
rm -rf build
# 构建包含依赖库的二进制文件
pkg -t node12.18.3-linux-x64 -o build/myapp src/index.js --config config.json --debug --expose-gc
# 复制public目录到构建目录
cp -R public build/
需要根据实际情况修改相应的值。这里是以Linux x64
为例,如果需要在其他系统上使用,请根据实际情况修改-t
参数。
步骤五:运行build.sh
在终端中执行以下命令:
chmod +x build.sh
./build.sh
执行后,会生成一个build
目录,包含可执行文件和公共文件。
示例说明一
例如有一个ThinkJS
项目,入口文件为app.js
,位于项目根目录下。根据上述步骤,可以按照以下方式编辑config.json
文件:
{
"name": "myapp",
"version": "1.0.0",
"description": "My Awesome App",
"main": "app.js",
"scripts": {
"start": "node ."
}
}
然后按照上述步骤编辑build.sh
文件,并执行./build.sh
命令生成可执行文件。
示例说明二
如果ThinkJS
项目中有一个模块文件,需要在打包时被引入。可以将该模块文件放置在src
目录下,然后在config.json
文件的dependencies
字段中添加:
{
"name": "myapp",
"version": "1.0.0",
"description": "My Awesome App",
"main": "src/index.js",
"scripts": {
"start": "node ."
},
"dependencies": [
"src/myModule.js"
]
}
然后在build.sh
文件中添加以下内容:
#!/bin/bash
# 删除旧的构建文件
rm -rf build
# 将模块文件复制到src目录下
cp src/myModule.js src/
# 构建包含依赖库的二进制文件
pkg -t node12.18.3-linux-x64 -o build/myapp src/index.js --config config.json --debug --expose-gc
# 复制public目录到构建目录
cp -R public build/
# 删除src目录下的模块文件
rm src/myModule.js
然后执行./build.sh
命令生成可执行文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用pkg打包ThinkJS项目的方法步骤 - Python技术站