0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

NestJSをAPI Gateway + AWS Lambdaで構成する(その2)- NestJS実行用のローカル環境構築

Last updated at Posted at 2023-07-15

つづき、その2

動かし方

上記のREAMEだけではよくわからない場合に必要なものは

Node.js実行環境

  • コンテナを使うことを推奨
    • 環境を汚さない、人ごとや環境依存しない、他のプロジェクトが動かなくなるようなことはない
  • Node.js 16 または Node.js 18(18を使う方が良いです)
  • バージョンやコマンド確認
which node
node -v
npm -v

serverless frameworkインストール、V3を使う

  • V3
  • グローバルインストール
npm install -g serverless
npm install -g serverless@3.33.0

または、
https://www.serverless.com/framework/docs/install-standalone にあるような

2023-07-14時点のv3最新バージョン

curl -o- -L https://slss.io/install | VERSION=3.33.0 bash

公式の内容

curl -o- -L https://slss.io/install | VERSION=2.72.2 bash

WindowsでもWSL2とDocker Desktop等を使い、コンテナ環境を推奨

環境例

root ➜ /workspaces $ node  -v
v16.17.0
root ➜ /workspaces $ npm -v
8.15.0

root ➜ /workspaces $ sls -v
Framework Core: 3.32.2
Plugin: 6.2.3
SDK: 4.3.2

「aws-node-typescript-nest」で npm install

  • serverless frameworkのプラグイン等をインストールする
    package.json を抜粋すると以下になり、公式の方だとバージョンが古くて動かない
package.json

  "dependencies": {
    "aws-serverless-express": "^3.3.5",


  "devDependencies": {
    "serverless": "^3.32.2",
    "serverless-offline": "12.0.4",
    "serverless-plugin-optimize": "^4.0.2-rc.1",
    "serverless-plugin-typescript": "^2.1.5",
$ cd sls-examples/aws-node-typescript-nest
$ npm install

アプリの開始

npm start

package.jsonをみるとわかりますが、npm start では 以下を行っている

package.json
"start": "sls offline start",
  • コマンド後に、以下のようなログが表示されたら NestJSが起動している、ローカルでの仮想API Gateway相当がListenしている
Typescript compiled.
Watching typescript files...

Starting Offline at stage dev (us-east-1)

Offline [http for lambda] listening on http://localhost:3002
Function names exposed for local invocation by aws-sdk:
           * main: serverless-nest-example-dev-main

   ┌────────────────────────────────────────────────────────────────────────┐
   │                                                                        │
   │   ANY | http://localhost:3000/dev/{proxy*}                             │
   │   POST | http://localhost:3000/2015-03-31/functions/main/invocations   │
   │                                                                        │
   └────────────────────────────────────────────────────────────────────────┘

Server ready: http://localhost:3000 🚀
  • 動作確認
$ curl http://localhost:3000/dev/hello
Hello World! my

GitHub、forkして作成したブランチ参照

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?