0 Expressのwebアプリのディレクトリー構成(2018年2月版) #express #nodejs みんなに公開

iruca.coの開発をしばらく続けてきて、大体こんな感じでディレクトリーの構成をするようになった、という話。Node.jsでExpressを使っている。src/actionsができたのはsrc/routesに処理を書いていくと長くなりがちだから、ファイル単位で分離しやすいように。

  • 📁 .circleci
    • config.yml: CircleCI用
  • 📁 assets
    • 📁 img: AIファイルとか、画像作成用のリソース
    • 📁 js: babelしてminifyする前のクライアント側JS
    • 📁 sass: Sassファイル
  • 📁 etc
    • 📁 db
      • 📁 migration: DB変更時のmigration用SQLファイル
      • tables.sql: テーブル等の定義が書かれているDDL
    • 📁 ssl: SSL証明書発行用のCSRファイルとか(現在使ってない)
  • 📁 public: webに公開されるフォルダー
    • 📁 css: Sassファイルはコンパイルされてここに入る
    • 📁 img: 画像置き場(svgが多い)
    • 📁 js: JSファイルはbabel、minifyされてここに入る
  • 📁 src
    • 📁 actions: 実際の処理が書かれてるファイル。routesから呼び出されて実行される
    • 📁 batch: バッチ処理用のスクリプト置き場
    • 📁 lib: 共通部品たち
      • 📁 model: DBアクセスやロジックに関わる共通部品たち
    • 📁 routes: ルーティング定義、middlewareもここでかませる
    • app.js: 処理の起点となるファイル
  • 📁 static
    • maintenance.html: メンテナンス用静的ファイル。S3にデプロイ
  • 📁 tests: mocha/chaiによるテストファイル
  • 📁 views: テンプレートファイル置き場
  • gulpfile.js: Gulp用。Webpack使ってない
  • package.json: npm用だけどパッケージ管理はyarn使ってる
  • Procfile: Herokuでの起動スクリプト定義
  • yarn.lock: パッケージ管理
0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone