Как создать автономное приложение командной строки с помощью 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...) выполнил эту задачу. Спасибо всем за поддержку: (
У вас есть посмотреть в уже написанных приложениях.