หลังจากใช้โหนดมาหลายปีฉันสามารถพูดได้ว่าไม่มีข้อกำหนดสำหรับโครงสร้างไดเร็กทอรี / ไฟล์ อย่างไรก็ตามแอปพลิเคชันด่วน (มืออาชีพ) ส่วนใหญ่ใช้การตั้งค่าเช่น:
/
/bin - scripts, helpers, binaries
/lib - your application
/config - your configuration
/public - your public files
/test - your tests
ตัวอย่างที่ใช้การตั้งค่านี้เป็นnodejs เริ่มต้น
ฉันเปลี่ยนการตั้งค่านี้เป็นการส่วนตัวเป็น:
/
/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
อัปเดต (styleguides):