Есть ли способ скомпилировать узел.исходные файлы js? [дубликат]
этот вопрос уже есть ответ здесь:
Можно ли создавать настольные приложения с узлом.Джей? [дубликат]
5 ответов
есть ли способ скомпилировать узел.js приложения?
8 ответов:
Я, может быть, очень поздно, но вы можете использовать модуль "nexe", который компилирует nodejs + ваш скрипт в одном исполняемом файле:https://github.com/crcn/nexe
узел.js работает поверх движка Javascript V8, который сам оптимизирует производительность путем компиляции кода javascript в собственный код... так что нет никаких причин для компиляции тогда, не так ли?
вы получаете полностью функциональный двоичный файл без источников.
собственные модули также поддерживается. (должно быть помещено в ту же папку)
код 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