技海泛舟(个人技术研究)

  • 首页
  • 日积月累
  • 学习计划
  • 随想
  • project
  • 关于
技海泛舟
一个技术宅的博客
  1. 首页
  2. 日积月累
  3. nodejs
  4. 正文

将Node.js应用程序编译成一个.exe文件

2023年6月12日 2212点热度

近日帮人做了一个一键打分的小程序,不能直接交付源代码,不方便人员操作,所以研究了下nodejs的编辑,记录如下。

整体结构如图

运行程序

node app.js

打包成win可执行文件

pkg app.js -t win -o app

引入路径要采用path

path.join( __dirname, "/static/index.html"

引入文件夹,修改package.json,添加bin(如果不是service.js的话)和pkg项

// package.json
  "bin": "app.js",//指定入口文件
  "pkg": {
    "assets": [
      "./static/**/*"
    ],
    "output": "dist"
  },

此时需要 pkg -t win package.json

axios不支持1.0版本以上

npm install axiox@0.27.2 --save 

要读写外部配置文件,需要用process.cwd

// 配置文件会打包到执行文件exe中
var config = require("../config/cfg.json")

// 配置文件不会被打包,文件exe与config目录需要整体部署
const fs = require("fs");
const path = require("path");
// 配置文件会打包到执行文件exe中
var config = fs.readFileSync(path.join(process.cwd(), '/config/cfg.json'), "utf-8")
console.log("config",config)
var config1 = JSON.stringify(JSON.parse('{"version":"1.4"}'));
 fs.writeFileSync(path.join(process.cwd(),'/config/cfg.json'), config1, {encoding:"utf-8"})
console.log("config1",config1)
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023年6月12日
< 上一篇
归档
  • 2024 年 11 月
  • 2024 年 8 月
  • 2024 年 5 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 6 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 5 月
分类
  • Android
  • Arduino
  • cordova
  • css
  • go
  • html5
  • JavaScript
  • nodejs
  • oracle
  • project
  • system
  • uni-app
  • vscode
  • vue
  • 学习计划
  • 摘抄
  • 随想

COPYRIGHT © 技海泛舟(个人技术研究). 2021-2023. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备2026065271号-1

蜀公网安备XXXXX号