近日帮人做了一个一键打分的小程序,不能直接交付源代码,不方便人员操作,所以研究了下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)