Sign in to follow this  
support

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

Recommended Posts

support

Команды для запуска 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

 

Share this post


Link to post
Share on other sites
support

Для чего нужен файл 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 и добавьте его в системы контроля версий.

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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this