Перейти к содержанию
Форум поддержки пользователей VamShop

Подсказки по npm командам для установки зависимостей, сборки приложения, запуску, перезагрузке cezerin!


Рекомендуемые сообщения

Команды для запуска cezerin.

Установить зависимости, прописанные в package.json:

npm install

Собрать проект:

npm run build

Запустить компиляцию в реальном времени, "на лету", т.е. изменились файлы, внеси Вы правки какие-то в код, run build скомпилировал файлы автоматически, "на лету":

npm run build:watch

т.е. не надо каждый раз пересобирать js файлы после каждой правки.

Запустили, оставили терминал открытым.

Запустили приложения через pm2 менеджер с ключом --watch:

pm2 start process.json --watch

и правите js файлы, затем в браузере страницу обновляете и сразу видны изменения на страницы.

 

 

Серверную часть (/src/api/server) перезапускать не надо.

Внесли правку в файл и всё это сразу доступно в браузере, в запросах.

 

Загрузить в базу стандартные страницы, индексы в таблицы:

npm run setup

Исходник с кодом в /src/api/server/setup.js

При первом запуске так же загружаются настройки по умолчанию в таблицу settings.

Исходник в сервисе settings, файл /src/api/server/servies/settings/settings.jsДобавить email админа и домен магазина:

npm run setup vam@test.com http://адрес-магазина.ру

Адрес магазина так же можно указать в настройках шаблона в Админке - Настройки - Общие - Домен магазина.

Запустить магазин (приложения store и api):

npm start 

или лучше запустить в фоновом режиме:

pm2 start process.json

Проверить работает или нет, будет видно, работают или нет приложения store и api:

pm2 list

Статус online - значит работают.

Перезапустить процесс (например после сборки проекта):

pm2 reload api
pm2 reload store

 

Ссылка на сообщение
Поделиться на другие сайты

Для чего нужен файл package-lock.json ?!

и для чего его нужно использовать и добавлять в системы контроля версий (git и т.д.).

В этом файлы опоисана вся структура зависимостей, версий, что в каком поярдке ставилось и т.д.

Это нужно для того, что б получить единое рабочее окружение для всех разработчиков.

т.е. если у Вас есть файл package.json и package-lock.json, Вы можете быть уверены, что у Вас всё запустится.

Рак разработчик уже всё проверил и выложил свой lock файл, с описангием рабочего окружения, Вы тоже получаете такое же проверенное рабочее окружение.

Просто выполняете npm install и выгружаете зависимости в том порядке и тех же версий, который были у разработчика в проверенном окружении.

 

Почему это Важно и почему могут быть проблемы без package-lock.json?!

Потому что версии используемыех зависимостей постоянно меняются, какие-то пакет утаревают, меняют названия и т.д. и т.п.

и Важно сохранить рабочее окружение, проверенное, на котором всё запускается.

 

Да, файл package-lock.json - это матически герерируемый файл npm при выполнении в первый раз команды npm install и по логике вещей, в система контроля версий не должно быть автоматически генерируемых файлов, достаточно лишь списка зависимотей pakcage.json

 

Но на практике это не вегда так.

 

К примеру, сделали Вы проект, всё проверили, всё работает, удалили папку node_modules со всеми пакетами, оставили package.json с номерами версий и всё.

 

В этом случае, велика вероятность, что, к премеру, через год, у Вас ничего не запустится, если Вы просто сделаете npm install

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

 

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

 

Вот для этого и нужен файл package-lock.json

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

 

Благодаря такому снимку, любой человек, который будет работать и исходным кодом через год, к примеру, получит точно такое же окружение для запуска проекта как и год назад, т.е. с большой долей вероятности он его запустит без проблем и через год.

 

Без такого снимка, без файла package-lock.json, только с файлом зависимостей package.json, есть большая вероятность, через город просто ничего не запутится.

 

Так что, если Вы запустили проект, приложежни и оно рабтает, возьмите Ваш сгенерированный файл package-json.lock и добавьте его в системы контроля версий.

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

 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...