Через кілька років з вузлом, я можу сказати , що не існує жодної конвенції для структури каталогів / файлів. Однак більшість (професійних) експрес-програм використовують такі налаштування:
/
/bin - scripts, helpers, binaries
/lib - your application
/config - your configuration
/public - your public files
/test - your tests
Приклад, який використовує цю настройку, - nodejs-starter .
Я особисто змінив цю налаштування на:
/
/etc - contains configuration
/app - front-end javascript files
/config - loads config
/models - loads models
/bin - helper scripts
/lib - back-end express files
/config - loads config to app.settings
/models - loads mongoose models
/routes - sets up app.get('..')...
/srv - contains public files
/usr - contains templates
/test - contains test files
На мій погляд, останній краще відповідає структурі каталогу директорій у стилі Unix (тоді як перший трохи змішує це).
Мені також подобається, що цей візерунок розділяє файли:
lib / index.js
var http = require('http');
var express = require('express');
var app = express();
app.server = http.createServer(app);
require('./config')(app);
require('./models')(app);
require('./routes')(app);
app.server.listen(app.settings.port);
module.exports = app;
lib / static / index.js
var express = require('express');
module.exports = function(app) {
app.use(express.static(app.settings.static.path));
};
Це дозволяє акуратно розв’язати весь вихідний код, не турбуючи залежності. Дійсно гарне рішення для боротьби з противними Javascript. Реальний приклад поруч , який використовує цю установку.
Оновлення (імена файлів):
Що стосується імен файлів, найпоширеніші - короткі , малі імена файлів. Якщо ваш файл можна описати лише двома словами, більшість проектів JavaScript використовують підкреслення як роздільник.
Оновлення (змінні):
Щодо змінних, то такі ж "правила" застосовуються, як і для імен файлів. Проте прототипи або класи повинні використовувати camelCase .
Оновлення (керівники стилів):