Це сьома частина серії туторіалів під назвою Node Hero. В цих розділах ви дізнаєтесь, як почати роботу з Node.js і розробляти програмні продукти, використовуючи його.
Більшість фреймворків Node.js не мають фіксовану структуру директорію, і тому зрозуміти їх буває важко. У цій частині ви дізнаєтеся, як правильно структурувати проект Node.js, щоб уникнути плутанини під час збільшення вашого проекту.
5 базових правил Структури Проекту на Node.js
Є багато способів зробити проект на Node.js більш організованим - і кожен з відомих методів має свої плюси та мінуси. Проте, з нашого досвіду ми вважаємо, що у розробників завжди одні й ті самі цілі: чистий код і можливість з легкістю додавати нові елементи.
За останні роки в RisingStack, ми мали можливість розробляти Node-застосунки різних масштабів, і за цей час у нас виникло багато ідей щодо того, що слід робити, і що не слід робити під час структурування проекту.
Ми виділили п'ять простих правил, які слід пам'ятати під час розробки на Node.js. Якщо ви будете їх дотримуватись, з вашими проектами все буде гаразд:
Правило 1 - Організуйте ваші Файли за Властивостями, а не за Ролями
Уявіть, що ви маєте наступну структуру директорію:
// Ні
.
├── controllers
| ├── product.js
| └── user.js
├── models
| ├── product.js
| └── user.js
├── views
| ├── product.hbs
| └── user.hbs
Проблеми, які зв'язані з цим підходом:
-
щоб зрозуміти, як працюють сторінки продукту, вам доведеться відкрити три різних директорії і пролистати велику кількість непотрібної інформації,
-
вам потрібно буде прописувати довгі маршрути при підключенні модулів:
require('../../controllers/user.js')
Замість цього ви можете структурувати ваш Node.js-застосунок за властивостями/ сторінками/ компонентами. Це полегшить розуміння проекту:
// Так
.
├── product
| ├── index.js
| ├── product.js
| └── product.hbs
├── user
| ├── index.js
| ├── user.js
| └── user.hbs
Правило 2 - Не Вкладайте Логіку у Файли index.js
Використовуйте ці файли тільки для експорту функціональності, наприклад:
// product/index.js
var product = require('./product')
module.exports = {
create: product.create
}
Правило 3 - Розміщуйте Ваші Тестові Файли поруч з Файлами Реалізації
Тести існують не тільки для того, щоб перевірити, чи видає модуль очікуваний результат, вони також документують ваші модулі (ви дізнаєтеся більше про тестування в наступних розділах). Через це, все буде більш зрозумілим, якщо тестові файли розмістити поруч з файлами реалізації.
Помістіть ваші тестові файли в окрему папку test
, щоб уникнути плутанини.
.
├── test
| └── setup.spec.js
├── product
| ├── index.js
| ├── product.js
| ├── product.spec.js
| └── product.hbs
├── user
| ├── index.js
| ├── user.js
| ├── user.spec.js
| └── user.hbs
Правило 4 - Використовуйте Директорію config
Використовуйте папку config
, щоб організувати ваші файли з налаштуванням.
.
├── config
| ├── index.js
| └── server.js
├── product
| ├── index.js
| ├── product.js
| ├── product.spec.js
| └── product.hbs
Правило 5 - Зберігайте Ваші Довгі npm-скрипти у папці scripts
Створіть окремий директорій для ваших додаткових довгих скриптів у package.json
.
├── scripts
| ├── syncDb.sh
| └── provision.sh
├── product
| ├── index.js
| ├── product.js
| ├── product.spec.js
| └── product.hbs
Далі: Частина 8 - Аутентифікація у Node.js використовуючи Passport.js
Ще немає коментарів