Mrcdh技术博客 Mrcdh技术博客
首页
  • Html5
  • Javascript
  • Nodejs
  • electron
  • Android
  • 微信公众号
  • 框架
  • 其他
  • Mysql
  • PHP
  • Python
  • java
  • Gulp
  • 其它
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Mrcdh

立志于全桟开发
首页
  • Html5
  • Javascript
  • Nodejs
  • electron
  • Android
  • 微信公众号
  • 框架
  • 其他
  • Mysql
  • PHP
  • Python
  • java
  • Gulp
  • 其它
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Html5

  • JavaScript

  • Nodejs

    • Nodejs 使用 nodemailer 发送邮件
    • npm镜像管理
    • npm&yarn&npx
    • puppeteer+axios保持登录请求
    • 使用node创建window服务启动程序
    • node图片转base64与base64转图片
    • node图片生成pdf
    • 常用npm库
    • npm&yarn&pnpm命令对比
    • Node常见问题
    • cheerio
    • request
    • selenium-webdriver
    • midway使用常见问题
    • dayjs的基本使用
    • ffmpeg的基本使用
    • mitt微型事件监听发布器
  • express

  • electron

  • Android

  • 微信公众号

  • 框架

  • 其他

  • selenium

  • Sequelize

  • 大前端
  • Nodejs
mrcdh
2022-11-17

使用node创建window服务启动程序

需要安装 node-windows 库

yarn add node-windows
1

创建 service.js 文件


const nodeWindow = require("node-windows") ;
const Service = nodeWindow.Service;

let svc = new Service({
  name: "node_tools", //名称
  description: "自定义工具软件", //描述
  script: require('path').join(__dirname,'app.js'), //node执行入口文件
  nodeOptions: ["--harmony", "--max_old_space_size=4096"],
});

const args = process.argv
if(args.length === 2){
    help()
    return
}

function help(){
    console.table({
        install: '安装服务',
        uninstall: '卸载服务'
    })
}

const command = args[2]

switch(command){
    case 'install':
        svc.on("install", function () {
            svc.start();
            if(svc.exists){
                console.log('服务安装成功')
            }
        });

        svc.install();
    break
    case 'uninstall':
        svc.on('uninstall', function () {
            if (!svc.exists) {
                console.log('服务卸载完成');
            }
        });
        
        svc.uninstall();
    break
    default:
        console.log('未知命令:'+command)
        help()
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

使用node service.js install来安装服务,使用node service.js uninstall卸载服务

创建app.js程序文件入口

// 用来当做启动文件
const process = require("child_process");

// 执行 npm run build 命令
;(function() {
    // 迂回大法(* ̄︶ ̄)
  process.exec('pnpm run start -p=10086', (error, stdout, stderr) => {
    console.log(error, stdout, stderr);
    if (!error) {
      // 成功
      console.log('运行成功:localhost:3000');
    } else {
      // 失败
      console.log('运行失败')
    }
  });
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#node
上次更新: 2022/11/17, 13:11:00
puppeteer+axios保持登录请求
node图片转base64与base64转图片

← puppeteer+axios保持登录请求 node图片转base64与base64转图片→

最近更新
01
python之Anaconda(conda)版本管理
03-24
02
electron文件缓存
02-16
03
vuex数据持久化插件vuex-persist
02-14
更多文章>
Theme by Vdoing | Copyright © 2020-2023 Mrcdh | 苏ICP备2020058908号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×