Claudia.jsでES2015を使う
AWS LambdaのNode.jsコンテナは残念なことに2017年1月現在でv4.3という古いバージョンで、ES2015に対応していないです。 公式の"USING BABEL WITH AWS LAMBDA"に書いてある通りで、babelを使ってES2015でClaudiaやBabelを書く方法をまとめます。
前提
下記のようにAWS API GatewayとAWS Lambda用のapp.js
とcustom認証のauthorizer.js
をES2015で書いていると仮定します。
手順
ディレクトリ作成
src
とbin
を作成し、src
配下に作成したファイルを格納します。bin
には後々babelでtranspileされたファイルが格納されるので、現時点では空で構いません。
mkdir src bin mv *.js src
npm設定
npm init npm install --save claudia-api-builder npm install --save-dev babel-cli babel-preset-es2015 claudia
package.json
のscripts
とfiles
を以下のように設定します。
"scripts": { "transpile": "babel --presets es2015 src --out-dir bin", "create": "npm run transpile && claudia create --region us-east-1 --handler bin/authorizer.auth --name [任意] --config claudia-auth.json && claudia create --region us-east-1 --api-module bin/app", "update": "npm run transpile && claudia update --config claudia.json", "update-auth": "npm run transpile && claudia update --config claudia-auth.json" }, "files": [ "bin" ],
現時点では以下のようになっています。
src/app.js src/authorizer.js bin/ package.json
実行
- デプロイします。初回のみの作業です。claudiaの設定ファイル
claudia.json
とカスタム認証の設定ファイルclaudia-auth.json
も作成されます。
npm run create
更新
- カスタム認証を修正した後に実行します。
npm run update-auth
app.js
を修正した後に実行します。
npm run update
以上