Deta.shにNestJSをデプロイする方法 🚀

Deta.shにNestJSをデプロイする方法

Deta.shってなに?


Detaは、開発者とユーザーの経験を考えて設計された無料のクラウドサービスで、私たちのアイディアをクラウドに簡単に実装できるようにしてくれます。無料で、ずっと使えます。

NodeJsPythonで作られたアプリケーションをデプロイすることができ、デプロイされた各アプリケーションにはMicroが提供されます。

NestJSプロジェクトの作成


まず始めにNestJSのスターターをクローンしましょう。

git clone https://github.com/nestjs/typescript-starter

フルスクリーンモードを解除してください。

依存関係をインストールし、エラーがないことを確認しましょう。

プロジェクトの設定


まず、src/index.tsにエントリーポイントを作ります。

import { NestFactory } from '@nestjs/core';
import { ExpressAdapter } from '@nestjs/platform-express';
import { AppModule } from './app.module';

const createNestServer = async (expressInstance) => {
  const app = await NestFactory.create(
    AppModule,
    new ExpressAdapter(expressInstance),
  );

  return app.init();
};

export default createNestServer;

フルスクリーンモードを解除してください。

そして、アプリケーションのルートにindex.jsファイルを作成します。

const express = require('express');
const createServer = require('./dist/index').default;

const app = express();
let nest;

app.use(async (req, res) => {
  if (!nest) {
    nest = express();
    await createServer(nest);
  }
  return nest(req, res);
});

module.exports = app;

フルスクリーンモードを解除してください。

プロジェクトのデプロイ


アプリケーションをデプロイするには、以下のコマンドを実行します。

コンパイル

プロジェクトをコンパイルするには、以下のコマンドをターミナルで実行してください。

yarn build

フルスクリーンモードを解除してください。

Detaにログイン

Detaにログインするためには、次のコマンドを実行します。

deta login

フルスクリーンモードを解除してください。

Microの作成

プロジェクトの一つ外のフォルダから新しいMicroを作成します。

deta new --node nombre-del-proyecto

フルスクリーンモードを解除してください。

デプロイ 🚀

最後に、アプリケーションのルートで次のコマンドを実行してプロジェクトをデプロイします。

deta deploy

フルスクリーンモードを解除してください。

その後、Detaによって作成されたURLを訪れてみてください。

例: https://7dug2x.deta.dev/

GitHubロゴ adrian-ub / nest-deta

ブログポストのテンプレート https://adrianub.dev/blog/desplegar-nestjs-en-detash

説明

Nest framework TypeScript starter repository.

インストール

$ yarn

フルスクリーンモードを解除してください。

アプリの実行

# development
$ yarn start

# watch mode
$ yarn run start:dev

# production mode
$ yarn run start:prod

フルスクリーンモードを解除してください。

テスト

# unitテスト
$ yarn run test

# e2eテスト
$ yarn run test:e2e

# テストカバレッジ
$ yarn run test:cov

フルスクリーンモードを解除してください。

ビルドとデプロイ

これらの手順は既にプロジェクトに_Deta Micros_を追加していることを前提としています。

# ビルド
$ yarn build

# デプロイ
$ deta deploy

フルスクリーンモードを解除してください。

ライセンス

このプロジェクトはMIT licensedです。
この例に基づいたNestJSのライセンスもご確認ください。
nestjs/typescript-starterに基づいています。

こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/adrianub/como-desplegar-nestjs-en-detash-2c14