Deta.shにNestJSをデプロイする方法 🚀
Deta.shってなに?
Detaは、開発者とユーザーの経験を考えて設計された無料のクラウドサービスで、私たちのアイディアをクラウドに簡単に実装できるようにしてくれます。無料で、ずっと使えます。
NodeJsやPythonで作られたアプリケーションをデプロイすることができ、デプロイされた各アプリケーションには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://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