Есть ли способ скомпилировать узел.исходные файлы js? [дубликат]



этот вопрос уже есть ответ здесь:




  • Можно ли создавать настольные приложения с узлом.Джей? [дубликат]

    5 ответов



есть ли способ скомпилировать узел.js приложения?

638   8  

8 ответов:

Я, может быть, очень поздно, но вы можете использовать модуль "nexe", который компилирует nodejs + ваш скрипт в одном исполняемом файле:https://github.com/crcn/nexe

узел.js работает поверх движка Javascript V8, который сам оптимизирует производительность путем компиляции кода javascript в собственный код... так что нет никаких причин для компиляции тогда, не так ли?

https://developers.google.com/v8/design#mach_code

EncloseJS.

вы получаете полностью функциональный двоичный файл без источников.

собственные модули также поддерживается. (должно быть помещено в ту же папку)

код JavaScript преобразуется в машинный код во время компиляции с помощью внутреннего компилятора V8. Следовательно, ваши источники не требуются для выполнения двоичного файла, и они не упакованы.

отлично оптимизированный машинный код может быть создан только во время выполнения на основе машина клиента. Без этой информации EncloseJS может генерировать только "неоптимизированный" код. Он работает примерно в 2 раза медленнее, чем NodeJS.

кроме того, узел.JS runtime code помещается внутрь исполняемого файла (вместе с вашим кодом) для поддержки Node API для вашего приложения во время выполнения.

примеры:

  • сделайте коммерческую версию вашего приложения без источников.
  • сделайте демо / оценку / пробную версию вашего приложения без источников.
  • сделать какой-то самораспаковывающийся архив или установщик.
  • Сделайте приложение GUI с закрытым исходным кодом, используя node-thrust.
  • нет необходимости устанавливать узел и npm для развертывания скомпилированного приложения.
  • нет необходимости загружать сотни файлов через npm install для развертывания приложения. Разверните его как один независимый файл.
  • Поместите свои активы в исполняемый файл, чтобы сделать его еще более портативным. Протестируйте приложение на новой версии узла без установки оно.

здесь был ответ: безопасное распространение приложений NodeJS. Райнос сказал: V8 позволяет предварительно скомпилировать JavaScript.

можно использовать компилятора для компиляции javascript.

вы также можете использовать CoffeeScript для компиляции вашего coffeescript в javascript.

чего вы хотите добиться с помощью компиляции?

задача компиляции произвольного неблокирующего JavaScript вниз, чтобы сказать, C звучит очень сложно.

там действительно не так много скорости, чтобы получить путем компиляции в C или ASM. Если вы хотите увеличить скорость разгрузки вычисления в программе C через подпроцесс.

теперь это может включать в себя больше, чем вам нужно (и может даже не работать для приложений командной строки в неграфической среде, я не знаю), но есть nw.js. Это Blink (т. е. Chromium/Webkit) + io.js (т. е. узел.js).

можно использовать node-webkit-builder для создания собственных исполняемых двоичных файлов для Linux, OS X и Windows.

если вы хотите графический интерфейс, это огромный плюс. Вы можете построить с помощью web технологий. Если нет, укажите "node-main" на package.json (и, вероятно,"window": {"show": false} хотя, возможно, это работает, чтобы просто node-main, а не main)

Я не пытался использовать его именно так, просто бросив его там, как возможность. Я могу сказать, что это, конечно, не идеал решение для неграфического узла.приложения на JS.

рекомендую uglifyJS, Он отлично работает с узлом.js.

javascript не имеет компилятора, например Java / C(Вы можете сравнить его больше с такими языками, как PHP, например). Если вы хотите написать скомпилированный код, вы должны прочитать раздел о аддоны и изучите C. Хотя это довольно сложно, и я не думаю, что вам нужно это делать, но вместо этого просто напишите javascript.

Comments

    Ничего не найдено.