Alt linux node js

Electron

В данной статье описан процесс разработки и сборки приложений на Electron.

Необходимые инструменты

Для разработки на Electron обязательно наличие в системе Node.js и npm. Достаточно установить пакеты node и npm.

В качестве среды разработки можно использовать редактор VS Code, имеющий возможность отладки Electron-приложений. Пакет редактора называется code.

Создание Electron-приложений

Инициализация проекта

В корне проекта нужно выполнить:

Утилита предложит ввести несколько значений, описывающих проект. Можно ничего не вводить, а просто нажать Enter. Данная команда сгенерирует файл package.json, содержащий информацию о приложении и его npm-зависимостях. Если проект имеет закрытый исходный код, то поле license из package.json можно удалить, а вместо него поставить «private»: true . Установить Electron можно следующей командой:

$ npm install —save-dev electron

Эта команда установит Electron локально, для данного проекта. Далее, в объект scripts в package.json нужно добавить команду для запуска приложения:

Аргумент, передаваемый electron’у — путь к корню проекта, где лежит package.json. Electron запускает скрипт, указанный в поле main файла package.json. Создадим файл index.js (или любое другое имя, указанное в поле main в package.json). Точка входа как правило содержит типовой код для инициализации приложения, его можно взять из Hello World-примера на Electron: пример index.js Далее нужно создать минимальную html-страницу (index.html), которая будет загружаться в окне. После этого можно попробовать запустить приложение:

Должно открыться окно, в котором отобразится созданная html-страница.

Разработка

Приложение на Electron имеет основной процесс (Main) и по процессу на каждое окно браузера (Renderer). Чаще всего, в приложении будет Main и один Renderer.

  • Main управляет окнами, имеет возможность создания нативных диалоговых окон и меню. Внутри это обычное Node.js-приложение.
  • Renderer является, по сути, браузером Chromium без каких-либо дополнительных элементов интерфейса.

Доступны Chrome DevTools, которыми можно осуществлять отладку Renderer-процесса. Важным отличием от обычного браузера является доступ к Node.js-модулям при помощи require, что делает возможным, к примеру, взаимодействие с файловой системой или базами данных.

Общение между Main и Renderer осуществляется посредством встроенного в Electron механизма IPC. Альтернативный вариант — использование модуля remote.

Для Electron-приложений может быть оправданным применение некоторых технологий, применяемых для разработки одностраничных веб-приложений (SPA), например: Babel, TypeScript, SCSS и т. д. Все эти технологии подразумевают этап сборки и компиляцию исходников в JS/CSS. Чаще всего для этого применяются сборщики вроде Webpack или Browserify, а также утилиты Grunt и Gulp. Однако, в Electron можно отказаться от этих инструментов в пользу electron-compile, позволяющего компилировать файлы на лету, а для production-сборок делать это заранее.

Читайте также:  Realtek alc892 linux drivers

Сборка Electron-приложений

Для автоматизации сборки существует несколько инструментов, например, electron-builder, однако они предназначены для создания инсталляторов и пакетов со встроенным бинарником electron. Для того, чтобы собрать приложение без встроенного electron, а использовать системный (пакет electron), можно просто указать системному electron на каталог с приложением:

При сборке приложения рекомендуется собирать его исходники вместе с зависимостями в специальный архив (asar). Для этого в devDependencies приложения нужно добавить утилиту asar. Порядок действий для создания asar-архива такой:

  • Копируем исходники и package.json во временный каталог.
  • В нём выполняем npm install —production (чтобы избежать попадания туда ненужных devDependencies).
  • Пакуем при помощи asar pack и получаем архив, где есть только то, что нужно для работы самого приложения.

Запускаем системный Electron, в качестве аргумента указывая полученный asar-файл, например:

Источник

Node.js Policy

Все пакеты npmjs паковать в rpm было бы неправильно, потому что они уже суть упакованные модули для nodejs. А вот пакеты для nodejs, использующие нативные библиотеки, паковать нужно обязательно, иначе невозможно обеспечить сборку бинарной части такого пакета.

Как паковать программы на nodejs

Программа на nodejs не является модулем для nodejs, поэтому указывать префикс, как у модуля, не требуется.

Модули nodejs (в каталоге node_modules), входящие в пакет с программой, не должны содержать внутри бинарных исполняемых файлов. Такие модули должны быть упакованы в отдельные rpm-пакеты.

Название пакета с модулем

Название пакета с модулем для node: nodejs-. [1] .

Префикс rpm-пакета должен определяться не хранилищем, где располагается пакет npmjs, а местом, куда пакет будет положен в файловой системе (местом поиска — откуда будут взяты его файлы, если угодно).

И ассоциироваться такой префикс должен не с хранилищем (то есть с сайтом, который и поменяться может), а с названием экосистемы для пакетов, среды их исполнения.

Традиционно принято в качестве префикса использовать название языка. Так в репозитории Сизиф есть пакеты erlang-*, python-*, perl-*, ruby-*, php-* java-*. Возможно кому-то показалось, что это названия языков, на которых написаны модули. Нет, зачастую такие модули написаны на C, а не на php. И префикс имени пакета для языковых систем показывает, расширение какого языка поставляет этот пакет.

Использование макросов

При сборке пакетов для node следует использовать макросы из пакета rpm-macros-nodejs .

Размещение модуля в иерархии файловой системы

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

Макросы из rpm-macros-nodejs

  • %nodejs_sitelib — каталог для размещения модулей.
  • %nodejs_arches — список архитектур, на которых поддерживается nodejs.
Читайте также:  Linux show path variable

Пример

Пример пакета с модулем можно посмотреть здесь:

Решения в других дистрибутивах

Источник

Node.js Policy

Все пакеты npmjs паковать в rpm было бы неправильно, потому что они уже суть упакованные модули для nodejs. А вот пакеты для nodejs, использующие нативные библиотеки, паковать нужно обязательно, иначе невозможно обеспечить сборку бинарной части такого пакета.

Как паковать программы на nodejs

Программа на nodejs не является модулем для nodejs, поэтому указывать префикс, как у модуля, не требуется.

Модули nodejs (в каталоге node_modules), входящие в пакет с программой, не должны содержать внутри бинарных исполняемых файлов. Такие модули должны быть упакованы в отдельные rpm-пакеты.

Название пакета с модулем

Название пакета с модулем для node: nodejs-. [1] .

Префикс rpm-пакета должен определяться не хранилищем, где располагается пакет npmjs, а местом, куда пакет будет положен в файловой системе (местом поиска — откуда будут взяты его файлы, если угодно).

И ассоциироваться такой префикс должен не с хранилищем (то есть с сайтом, который и поменяться может), а с названием экосистемы для пакетов, среды их исполнения.

Традиционно принято в качестве префикса использовать название языка. Так в репозитории Сизиф есть пакеты erlang-*, python-*, perl-*, ruby-*, php-* java-*. Возможно кому-то показалось, что это названия языков, на которых написаны модули. Нет, зачастую такие модули написаны на C, а не на php. И префикс имени пакета для языковых систем показывает, расширение какого языка поставляет этот пакет.

Использование макросов

При сборке пакетов для node следует использовать макросы из пакета rpm-macros-nodejs .

Размещение модуля в иерархии файловой системы

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

Макросы из rpm-macros-nodejs

  • %nodejs_sitelib — каталог для размещения модулей.
  • %nodejs_arches — список архитектур, на которых поддерживается nodejs.

Пример

Пример пакета с модулем можно посмотреть здесь:

Решения в других дистрибутивах

Источник

Alt linux node js

19 сентября 2022

Установка HeidiSQL в Simply Linux

Mysql — СУБД идеально подходящая для небольших и средних по сложности и размеру базы данных. Де факто она используется практически на всех сайтах в сети Internet. Сегодня мы рассмотрим установку HeidiSQL в Simply Linux через Snap — https://snapcraft.io . Snap — разработанный создателями Ubuntu пакетный менеджер, позволяющий запускать программы вне зависимости от дистрибутива или операционной системы. Все программы запускаются в «песочнице» и не имеют прямого доступа к операционной системе. Читать далее.

17 сентября 2022

Установка МойОфис в Simple Linux (Alt Linux)

С окончательным уходом Microsoft из России, переход с MS Office на альтернативные решения стал вопросом времени. Тем временем Минцифры заявило о том, что будет устанавливать предельные сроки для перехода на отечественное ПО в госучреждениях! Сегодня на рынке существует несколько компаний, предлагающих ПО в качестве альтернативы MS Office. Из всех можно выделить MойОфис и Р7-Офис. Р7-Офис мы не будем рассматривать, так как получить бесплатную версию для дома можно только по запросу. Да, вы можете купить лицензию на домашнюю версию за 3500 рублей. Лично мне неясно за что я должен платить такие деньги, учитывая наличие альтернатив, в том числе и LibreOffice. У МойОфис есть бесплатная версия для использования дома, к тому же есть версия для Linux. Поэтому я буду рассматривать именно её! Сегодня мы рассмотрим установку офисного пакета МойОфис Стандартный Домашняя Версия в Simply Linux (Alt Linux). В его состав включены две программы — редактор текстовых документов и электронные таблицы. Читать далее.

Читайте также:  Red hat linux внедрение

23 августа 2022

Обновление Node.js через npm в Simply Linux (Alt Linux)

В прошлой части мы установили Node.js на Alt Linux. К сожалению, в стабильном репозитории Alt Linux в наличии версия 14.19.1 в то время как текущая стабильная LTS версия 16.X Сегодня мы рассмотрим обновление Node.js до версии 16.X с помощью npm. Предупреждаю сразу, я не знаю насколько стабильно будет работать Node.js после такого обновления, но тестовые запуски с Vue Cli показали, что всё работает нормально. Читать далее.

22 августа 2022

Установка Node.js в Alt Linux

Node.js сегодня активно используется при web-разработке и в качестве сервера для разнообразных приложений. Сегодня мы рассмотрим установку Node.js в Alt Linux. Читать далее.

Источник

Новые записи

23 августа 2022

Обновление Node.js через npm в Simply Linux (Alt Linux)

В прошлой части мы установили Node.js на Alt Linux. К сожалению, в стабильном репозитории Alt Linux в наличии версия 14.19.1 в то время как текущая стабильная LTS версия 16.X Сегодня мы рассмотрим обновление Node.js до версии 16.X с помощью npm. Предупреждаю сразу, я не знаю насколько стабильно будет работать Node.js после такого обновления, но тестовые запуски с Vue Cli показали, что всё работает нормально. Читать далее.

22 августа 2022

Установка Node.js в Alt Linux

Node.js сегодня активно используется при web-разработке и в качестве сервера для разнообразных приложений. Сегодня мы рассмотрим установку Node.js в Alt Linux. Читать далее.

15 июля 2022

Установка Go (golang) в Simply Linux (Alt Linux)

Сегодня мы рассмотрим установку языка программирования Go (golang) в Simply Linux (Alt Linux) В репозиториях Базальт СПО на момент написания статьи максимальная версия golang 1.17.11 от 14 июня 2022 , на сайте go.dev (https://go.dev/dl/) последняя версия 1.18.3. В принципе, всё еще можно спокойно использовать версию 1.17.11, если у вас нет библиотек, требующих именно версию 1.18.3. Читать далее.

14 июля 2022

Устанавливаем Телеграмм в Simply Linux

Telegram из простого мессенджера постепенно превращается в телекоммуникационную платформу без которой многие уже не могут обойтись и на работе, и дома. Базальт СПО уже позаботились о пользователях, создав удобный установщик appinstall, так что многие популярные программы можно установить в один клик мыши! Сегодня мы рассмотрим установку Telegram в Simply Linux. Читать далее.

Источник

Оцените статью
Adblock
detector