何もない状態から AppEngine にデプロイするまでの流れ
npm init npm install --save express vim app.js # 簡単な express のサンプル書く echo 'runtime: nodejs8' > app.yaml gcloud app deploy
これだけで Hello, World できた!すごいはやい!シンプル!
書くまでもなさそうだけど、app.js の中身はこちら
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.status(200).send('Hello, world!').end(); }); const PORT = process.env.PORT || 8080; app.listen(PORT);
Node.js Standard のすごいところ
app.yaml の内容が1行だけでよい
runtime: nodejs8
Go のときは app.yaml に謎の呪文を書かないといけなかった のでスッキリ(⌒▽⌒)
また、AppEngine 固有のライブラリみたいなのを入れる必要はなさそうで、ほぼ素の Node.js っぽい。これはとてもスッキリ(⌒▽⌒)
おそらく最近話題になった gVisor のおかげ。Googleさんすごい。
http リクエストを投げる際に特別処理がいらない
他の言語では http リクエストを投げるためには、appengine 専用の特殊な transport を指定する必要があった。
Issuing HTTP(S) Requests | App Engine standard environment for Go | Google Cloud
Node.js では特にこれに気を使う必要なくて、普段の Node.js 使い方でリクエスト飛ばせる!すごい!
gcloud app deploy で普通にデプロイできる
GAE/Go では、vendor/ を使うと gcloud app deploy コマンドでデプロイできない不具合 があったが、Node.js では特にそういう不具合はない。Go はすごい好きなんだけど、これだけはきつかったので、うれしい