2012-03-15 2 views
7

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

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

У вас есть идея?

+2

Это, как представляется, быть частью Дублированный Бассейн: http://stackoverflow.com/questions/6145561/is-there- a-way-to-compile-node-js-source-files, http://stackoverflow.com/questions/7557364/packing-node-js-scripts-node-exe-into-a-single-executable, http: //stackoverflow.com/questions/8173232/make-exe-from-node-js-app, http://stackoverflow.com/questions/8794140/is-it-possible-to-create-desktop-applications-with- node-js, http://stackoverflow.com/questions/9724817/how-to-create-a-stand-alone-command-line-application-with-node-js, http: // sta ckoverflow.com/questions/13388108/standalone-node-js-application – Mogsdad

+0

Хороший список инструментов можно найти здесь: http://stackoverflow.com/a/12486874/32679 – GrGr

ответ

0

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

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

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

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

0

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

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

0

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

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

Имейте look в приложениях уже написанных.

1

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

После того, как вы JXcore установлены на окнах (или системы UNIX), все, что вам нужно сделать, это запустить:

jx package app.js "myAppName" -native 

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

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

(Дубликат https://stackoverflow.com/a/27551233/810830)

Смежные вопросы