Node Hero: Частина 7 - Структура проектів на Node.js

3 хв. читання

Це сьома частина серії туторіалів під назвою 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
Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 6.7K
Приєднався: 6 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація

Читайте також: node 8, scripts, node --require