Как создать автономное приложение командной строки с помощью Node.js

Я пытаюсь найти способ использования приложения nodejs командной строки, которое я создал на компьютере без установки node.js. Другими словами, как упаковать мое приложение с node.js внутри, чтобы пользователи не установили node.js.

Типичный пример использования: я запускаю приложение, и приложение работает, используя ядро ​​ node, которое предоставляет приложение (или приложение проверяет наличие node.js, и если оно не загружается и установите его автоматически).

Есть ли у вас идеи?

Ответ 1

JXcore позволяет это сделать.

После установки JXcore на windows (или unix-системах) все, что вам нужно сделать, запускается:

jx package app.js "myAppName" -native

Это приведет к выполнению EXE файла (или unix-исполняемого файла, если команда была запущена в системе unix), который вы можете распространять и может выполняться без каких-либо внешних зависимостей (вам даже не нужен JXcore и Node. js в системе).

Вот документация по этой функциональности: http://jxcore.com/packaging-code-protection/#cat-74

(Дубликат fooobar.com/questions/38226/...)

Ответ 2

Проверяя Node.js License, похоже, что это лицензия MIT, поэтому совершенно законно это делать.

Я предполагаю, что вы ориентируетесь на Windows или Mac, поскольку в Linux вы можете просто отпустить пакет, который зависит от Node.js конкретной версии, и предоставить script, чтобы добавить один из различных бесплатных репозитории для .deb или .rpm предварительно скомпилированных версий Node.js.

Вам нужно будет получить исходный код для интересующей вас версии и построить ее для вашей платформы. Как я помню, встроенный исполняемый файл можно запускать напрямую, не будучи установленным, но предполагается, что определенные библиотеки доступны в $PATH (OpenSSL - тот, который они явно упоминают в лицензии, как понравившуюся вместо статически скомпилированного в двоичный файл).

Чтение сборки Visual Studio script, похоже, что вам понадобится Python для установки Windows для создания .exe, Я подозреваю (но не знаю точно), что исполняемый файл по сути является автономным для Windows, поэтому вы можете связать с ним свой Javascript-код и написать простой командный файл, чтобы запустить его на этой платформе. Я не знаю, как сделать установщик Windows .msi, но файл vcbuild.bat также включает в себя возможность генерации одного, поэтому вы можете просто копировать его код, чтобы сделать это.

Ответ 3

У Python, Perl и Tcl есть утилиты, которые будут принимать script и создать исполняемый файл для данной платформы. (Я не знаю о Ruby, PHP и т.д.) - до сих пор такая утилита не существует для nodejs, но меня тоже интересовала бы существующая.

В node есть опция сборки, чтобы запустить запуск указанного script при запуске, поэтому есть какая-то сантехника.

Ответ 4

Есть немного, но Node-webkit выглядит как явный победитель на данный момент. Предыдущий альтернативный appjs был устаревшим, вот связанный твит:

AppJS больше не поддерживается, поскольку node -webkit (https://github.com/rogerwang/node-webkit...) выполнил эту задачу. Спасибо всем за поддержку: (

У вас есть посмотреть в уже написанных приложениях.