Düğümle birkaç yıl geçirdikten sonra , dizin / dosya yapısı için herhangi bir konvansiyonun olmadığını söyleyebilirim . Ancak çoğu (profesyonel) ekspres uygulama aşağıdaki gibi bir kurulum kullanır:
/
/bin - scripts, helpers, binaries
/lib - your application
/config - your configuration
/public - your public files
/test - your tests
Bu kurulumu kullanan bir örnek nodejs-starter'dır .
Bu kurulumu kişisel olarak şu şekilde değiştirdim:
/
/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
Kanımca, ikincisi Unix tarzı dizin yapısıyla daha iyi eşleşiyor (oysa eski bunu biraz karıştırıyor).
Dosyaları ayırmak için bu kalıbı da seviyorum:
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));
};
Bu, bağımlılıkları rahatsız etmeden tüm kaynak kodunun düzgün bir şekilde ayrıştırılmasına izin verir. Kötü Javascript ile savaşmak için gerçekten iyi bir çözüm. Yakında bu kurulumu kullanan gerçek dünya örneği var .
Güncelleme (dosya adları):
Dosya adlarıyla ilgili olarak en yaygın olanı kısa , küçük harfli dosya adlarıdır. Dosyanız yalnızca iki kelimeyle açıklanabiliyorsa, çoğu JavaScript projesi sınırlayıcı olarak bir alt çizgi kullanır.
Güncelleme (değişkenler):
Değişkenlerle ilgili olarak, dosya adlarıyla aynı "kurallar" geçerlidir. Ancak prototipler veya sınıflar camelCase kullanmalıdır .
Güncelleme (stil kılavuzları):