目录
前言
windows执行node命令时,我们有时js需要做一件持续进行的事务,用cmd启动就必须保持窗口不被关闭,这样肯定不是万全之策,这时候我们可以尝试将node命令启动为windows服务运行。
依赖包
在项目根目录导入node-windows依赖。
npm i node-windows
安装服务
假如我这里有一个文件database.js,它做的事是将数据持续写进数据库,如果我们需要在cmd用node database启动的话,它会持续运行,而且为了它的功能运行我不能关闭它。
我们现在只编写一个service.js
,就可以将它安装为windows服务运行。
//service.js import path from "path"; import nodeWindow from "node-windows"; const Service = nodeWindow.Service; let svc = new Service({ name: "node_database", //名称 description: "添加数据进入数据库", //描述 script: path.resolve("./database.js"), //node执行入口文件 nodeOptions: ["--harmony", "--max_old_space_size=4096"], }); svc.on("install", function () { svc.start(); if(svc.exists){ console.log('服务安装成功') } }); svc.install();
然后执行用node运行一次该文件,执行安装结束即可。
node service.js 服务安装成功
卸载服务
//uninstall.js import path from 'path' import nodeWindow from 'node-windows' const Service = nodeWindow.Service let svc = new Service({ name: 'node_database', //名称 script: path.resolve('./index.js'), //node执行入口文件 nodeOptions: [ '--harmony', '--max_old_space_size=4096' ] }); svc.on('uninstall', function () { if (!svc.exists) { console.log('服务卸载完成'); } }); svc.uninstall();
同样启动即可卸载服务
node uninstall.js 服务安装成功
记得修改相关内容时,可能需要重新卸载安装服务。
尾言
如果觉得文章还不错的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~