Terlambat ke pesta, tetapi simpul-windows akan melakukan trik juga.
Ini juga memiliki sistem masuk bawaan.
Ada API untuk membuat skrip dari kode, yaitu
var Service = require('node-windows').Service;
// Create a new service object
var svc = new Service({
name:'Hello World',
description: 'The nodejs.org example web server.',
script: 'C:\\path\\to\\helloworld.js'
});
// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install',function(){
svc.start();
});
svc.install();
FD: Saya penulis modul ini.
Saya menemukan hal yang sangat berguna sehingga saya membangun pembungkus yang lebih mudah digunakan di sekitarnya ( npm , github ).
Menginstalnya:
Menginstal layanan Anda:
Menghapus instalasi layanan Anda:
sumber
WinSer adalah pembungkus node.js ramah di sekitar NSSM populer (Non-Sucking Service Manager)
sumber
Dari blog ini
sumber
Saya tidak menjawab pertanyaan secara langsung, tetapi memberikan alternatif yang mungkin juga memenuhi kebutuhan Anda dengan cara yang lebih node.js.
Secara fungsional persyaratannya adalah:
Persyaratan ini dapat dipenuhi dengan menggunakan manajer proses (PM) dan membuat manajer proses mulai pada startup sistem. Dua PM bagus yang ramah-Windows adalah:
Untuk membuat PM mulai secara otomatis, cara paling sederhana adalah membuat tugas terjadwal dengan pemicu "Saat Mulai":
sumber
pm2
menggunakan skrip batch pada saat startup, pastikan untuk memasukkan variabel lingkungan atau tidak akan berfungsi. Dibahas di sini: github.com/Unitech/pm2/issues/1079Pendekatan manajer proses + penjadwal tugas yang saya posting setahun lalu bekerja dengan baik dengan beberapa instalasi layanan satu kali. Namun baru-baru ini saya mulai mendesain sistem dengan cara layanan mikro, dengan banyak layanan kecil berbicara satu sama lain melalui IPC. Jadi secara manual mengkonfigurasi setiap layanan menjadi tak tertahankan.
Untuk mencapai tujuan menginstal layanan tanpa konfigurasi manual, saya membuat serman , alat baris perintah (install with
npm i -g serman
) untuk menginstal yang dapat dieksekusi sebagai layanan. Yang Anda butuhkan untuk menulis (dan hanya menulis sekali) adalah file konfigurasi layanan sederhana bersama dengan executable Anda. Lariakan menginstal layanan.
stdout
danstderr
semuanya sudah login. Untuk info lebih lanjut, lihat situs web proyek .File konfigurasi yang berfungsi sangat sederhana, seperti yang ditunjukkan di bawah ini. Tetapi juga memiliki banyak fitur berguna seperti
<env>
dan di<persistent_env>
bawah ini.sumber