Saya telah mencari sedikit tetapi tidak dapat menemukan alat yang ada untuk ini.
Saya memiliki server web node.js yang dirancang untuk berjalan di komputer Anda sendiri yang melakukan beberapa hal keren untuk Anda. Akan sangat luar biasa jika saya dapat mengklik dua kali MySnazzyThing.app
daripada menginstal nodejs, dan npm dan berjalan node mysnazzyapp.js
pada baris perintah.
The .app
eksekusi akan spool up server node dan membuka WebKit asli sederhana window yang akan menunjukkan apa yang biasanya berada di localhost:3000
jika saya berjalan di baris perintah.
Aplikasi asli ini kemudian dapat, katakanlah, didistribusikan melalui toko aplikasi mac. Dan bam, aplikasi desktop node.js.
Apakah ada alat seperti itu? Atau adakah alasan teknis yang membuat ini tidak berfungsi seperti yang saya bayangkan?
sumber
Opsi 1: elektron (alias kulit atom)
Ini adalah shell yang digunakan editor Atom github. Ini sangat mirip dengan node-webkit, meskipun ini akan menjalankan skrip terlebih dahulu, dan Anda harus membuat tampilan / jendela untuk pengguna. Ada beberapa perbedaan kecil lainnya, tetapi ada baiknya untuk diperhatikan.
Opsi 2: NW.js sebelumnya node-webkit
Intinya adalah bahwa itu pada dasarnya memperluas mesin JS bagi Anda untuk menulis aplikasi berbasis web yang mendukung model objek diperpanjang node, dan modul ... Anda kemudian mengemas modul package.json start.html dan file js Anda ke dalam zip (dengan .nw extension) dan menjalankannya dengan nw (.exe) .. ada windows, mac dan linux build tersedia.
Opsi 3: Carlo chrom (ium) shell dari Node.
Ini akan memungkinkan Anda untuk meluncurkan Chrome yang dipasang secara lokal sebagai shell yang dapat terhubung ke aplikasi server yang berjalan secara lokal. Itu memang membutuhkan krom lokal, tetapi sangat mirip dengan apa yang diminta.
Opsi 4: MacGapNode (Khusus OSX)
MacGap dengan integrasi Node (Tampaknya mulai basi)
Selain: Layanan ...
Saya tidak dapat berbicara untuk OSX dalam hal ini sebagai .App, tetapi mungkin juga untuk membuat layanan latar belakang menginstal di NodeJS dan tautan ke situs "lokal" di desktop. Sebagian besar browser memiliki opsi untuk tidak menampilkan semua fitur (saya tahu khususnya firefox).
Saya tahu pertanyaan Anda adalah khusus untuk OSX, tetapi di windows Anda dapat menggunakan NSSM untuk menjalankan apa pun sebagai layanan, dan saya telah menggunakannya untuk layanan berbasis NodeJS di windows. Saya pikir beberapa opsi lain di atas lebih baik tergantung pada kebutuhan Anda.
Dihapus:
nexe- basi / tidak terawatAppJS- diganti dengan DeskShellDeskShell- basi, situs offlinenode-webkit-berganti nama menjadi NW.jsProyekXULRunnerterhenti, dan sangat tertinggal.Thrust ( Adaptor Node )- tidak digunakan lagi / usangJawaban ini disalin untuk beberapa pertanyaan, sebagian besar referensi ini untuk kemudahan memperbarui.
sumber
Saya sarankan melihat ke Topcube, tujuannya adalah untuk "Memberi pengembang node cara untuk memiliki GUI desktop ke server node mereka menggunakan HTML5 + CSS3 sebagai platform GUI." Topcube di github .
sumber
Saat ini ada banyak cara untuk mencapai hal ini.
Pemenang yang jelas dalam hal pengemasan aplikasi node + html5, saat ini adalah Electron (digunakan oleh Atom, VSCode, Slack, Discord, dll).
Anda juga dapat menggunakan bahasa lain yang dipaketkan sebagai aplikasi (menggunakan alat untuk bahasa / tumpukan tersebut), dan memeriksa pemasangan node, meluncurkan skrip "server" dengan node, lalu meluncurkan browser default (atau beberapa komponen tampilan web, dengan beberapa cara lain), akhirnya mengatur lokasi ke layanan node. Ini adalah metode yang sangat ringan dan efisien, namun tidak terintegrasi dengan baik dengan OS sebagai solusi seperti Electron.
Pesaing utama Electron di sini, adalah NW.js. Sejauh yang saya tahu, fitur utama yang dimiliki NW.js yang belum dimiliki oleh Electron adalah kompilasi / obfuscation. Sementara Electron membuat pembaruan otomatis menjadi mudah.
https://electron.atom.io/ https://nwjs.io/
sumber