नोड के साथ कुछ वर्षों के बाद, मैं कह सकता हूं कि निर्देशिका / फ़ाइल संरचना के लिए कोई सम्मेलन नहीं हैं । हालाँकि अधिकांश (व्यावसायिक) एक्सप्रेस एप्लिकेशन एक सेटअप का उपयोग करते हैं जैसे:
/
/bin - scripts, helpers, binaries
/lib - your application
/config - your configuration
/public - your public files
/test - your tests
एक उदाहरण जो इस सेटअप का उपयोग करता है वह है नोडजेस-स्टार्टर ।
मैंने इस सेटअप को व्यक्तिगत रूप से बदल दिया है:
/
/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
मेरी राय में, बाद वाला यूनिक्स-शैली निर्देशिका संरचना के साथ बेहतर मेल खाता है (जबकि पूर्व इसे थोड़ा सा मिलाता है)।
मुझे यह पैटर्न अलग फ़ाइलों के लिए भी पसंद है:
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 / स्थिर / index.js
var express = require('express');
module.exports = function(app) {
app.use(express.static(app.settings.static.path));
};
यह निर्भरता को परेशान किए बिना बड़े करीने से सभी स्रोत कोड को डिकोड करने की अनुमति देता है। बुरा जावास्क्रिप्ट से लड़ने के लिए एक बहुत अच्छा समाधान। एक वास्तविक दुनिया का उदाहरण पास में है जो इस सेटअप का उपयोग करता है।
अद्यतन (फ़ाइल नाम):
सबसे आम के बारे में फ़ाइल नाम हैं लघु , छोटे अक्षरों फ़ाइल नाम। यदि आपकी फ़ाइल को केवल दो शब्दों के साथ वर्णित किया जा सकता है, तो अधिकांश जावास्क्रिप्ट परियोजनाएं सीमांकक के रूप में एक अंडरस्कोर का उपयोग करती हैं।
अद्यतन (चर):
चरों के संबंध में, फ़ाइल नाम के समान "नियम" लागू होते हैं। प्रोटोटाइप या कक्षाएं, हालांकि, कैमलकेस का उपयोग करना चाहिए ।
अद्यतन (स्टाइलगाइड):