📚

Express generatorでプロジェクトを作る

2023/08/08に公開

公式にはグローバルインストールの方法しかないため
ローカルで使い捨てたいときにやった方法です。

http://expressjs.com/en/starter/generator.html#express-application-generator

Express generator をローカルインストール

cd <your-work-folder>
npm install express-generator

プロジェクトを新規作成

.\node_modules\.bin\express <your-project-name> --pug

補足

デフォルトのjadeはすでに非推奨になっているので
view の指定をしたほうがいいです。
https://www.npmjs.com/package/jade

viewを使いたくない場合

.\node_modules\.bin\express <your-project-name> --no-view

ただ、エラーハンドリング関数が作られないみたいなのでオプションなしで作ったあと、
viewを削除するほうが楽です。

express-generator をアンインストール

作成後は使わないので、削除
今後もexpress-generatorを使いたい場合は、作成したプロジェクトを別フォルダに移動すると
次回以降手間が省けて便利です。

npm uninstall express-generator

viewを使わないプロジェクトを作る(コードを修正する方法)

例)データを返却するAPIサーバーを作りたい

  1. 新規作成
.\node_modules\.bin\express <your-project>
  1. 以下のコードを削除する
app.js
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.js
res.render('error');
  1. エラーハンドリングを修正
    削除したrenderのかわりに以下に書き換え。
    基本、renderは画面指定[1]なので、それ以外ならなんでも可
app.js
- res.render('error');
+ res.send({
+   msg: "Error has occurred!!"
+ });
  1. viewsフォルダーとpublicフォルダーを削除
    最終的にフォルダ構成はこんな感じになります。
.
├── app.js
├── bin
│   └── www
├── package.json
├── routes
    ├── index.js
    └── users.js
  1. 用途に応じてカスタムしていく

まとめ

意外とviewを使わないパターンの作成手順は探しても見つからなかったので、
備忘録がわりに書きました。
expressを使う機会があれば参考になるとうれしいです。

脚注
  1. http://expressjs.com/en/5x/api.html#res.render ↩︎

Discussion