nodeを使って数年が経ちましたが、ディレクトリ/ファイル構造には慣例がないと言えます。ただし、ほとんどの(プロフェッショナル)Expressアプリケーションは次のような設定を使用します。
/
/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と戦うための本当に良い解決策です。この設定を使用する実際の例が近くにあります。
更新(ファイル名):
最も一般についてのファイル名は短く、小文字のファイル名。ファイルを2語でしか記述できない場合、ほとんどのJavaScriptプロジェクトでは、区切り文字としてアンダースコアを使用します。
更新(変数):
変数に関しては、ファイル名と同じ「ルール」が適用されます。ただし、プロトタイプまたはクラスはcamelCaseを使用する必要があります。
更新(スタイルガイド):