Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

cheat-script

Прежде всего


Скрипт не нужно устанавливать в директорию с проектом. Если вдруг установите в проект, удалите сразу после того, как воспользуетесь.

Запушив скрипт на проверку экзаменаторам, вы можете усложнить жизнь всей группе.

Рекомендую один раз установить скрипт в какую-нибудь внешнюю директорию (типа глобальная установка), чтобы затем использовать его для в любых прочих проектах. Я советую его класть в директорию пользователя /~ .

Скрипт точно работает в bash на маках. Насчёт остальных ОС и терминалов не уверен.

Установка и запуск


Ниже пример установки скрипта в директорию /~ :

git clone <ссылка на репозиторий> ~/cheat-script

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

node ~/cheat-script/init-express.js <username> <password> <dbname>

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

Что делает скрипт?


Создаёт скелет express-приложения (см. пример в example), подключённого в бд с указанным именем пользователя, паролем и названием самой бд.

Если детальнее, скрипт:

  • Устанавливает большинство необходимых зависмосьтей (express, hbs redis-сессии, sequelize и пр.). Список устанавливаемых пакетов можно посмотреть тут;
  • Создаёт .gitignore для Node;
  • Создаёт файловую структуру проекта наподобие той, что нам показывал Семён;
  • Создаёт .sequelizerc, соответствующий нашему проекту;
  • Инициализирует sequelize (создаёт config-файл и все директории) в src/db;
  • Подстраивает database.json под наши нужды (т.е. заполняет имя пользователя, пароль и название базы, которые укажете);
  • Создаёт hbs'ки с подключённым bootstrap'ом;
  • Создаёт app.js, в котором подключены сессии, логгер и всякое прочее;
  • Создаёт базовый роут.

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

Все роуты из директории routes подключаются в app.js единожды:

const routes = require(path.join(process.env.PWD, 'src', 'routes'));

и затем их можно использовать в app.js следующим образом:

app.use('/address', routes.address); // для роута address.js или address.router.js

Ничего в app.js кроме вышеуказанной строки подключать не будет нужно.

Это происходит благодаря файлу index.js, его трогать и менять не нужно.

Чего скрипт не делает?


Скрипт:

  • Не создаёт ничего в postgres'е (юзера и базу нужно делать руками);
  • Не запускает сервер redis;
  • Много чего ещё он не делает, поэтому будьте внимательны.

About

russian hackers

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /