TS Node.js プロジェクトを正しく迅速にデプロイするにはどうすればよいですか?次の記事では、TS Node.js アプリケーションを数分でデプロイする方法を説明します。お役に立てば幸いです。
フルスタック開発者として、プロジェクトを作成することは非常に興味深いです。アーキテクチャを設計し、ブレインストーミングし、開発することができますが、開発が完了した後は、アプリケーションをデプロイまたはリリースします。では、TS Node.js プロジェクトを正しく迅速にデプロイするにはどうすればよいでしょうか? 今すぐ実行してみましょう。 [推奨学習: 「nodejs チュートリアル 」]
TS Node.js アプリケーションを作成する
TS ノードの作成にすでに慣れている場合.js プロジェクトでは、「アプリケーションのデプロイとリリース」セクションに直接ジャンプできます。
Node.js プロジェクトを初期化します:
私たちのチームでは、TS がとても気に入っています。 TS はすべてのプロジェクトで使用されるため、TS プロジェクトの作成は新しいことではありません。
基本的なことから始めましょう:
npm init
-y
を使用して Node.js プロジェクトを初期化します。パラメーターはすぐに実行できます。ステップバイステップの構成を省略します##npm install Express @types/express
Express の依存関係と TS 開発用の Express Types ファイルをインストールします
npm install typescript --save-dev
開発依存関係として typescript をインストールします
mkdir my-app && cd my-app npm init -y npm install express @types/express --save npm install typescript --save-dev
TS 構成
- npx tsc --init
は、タイプスクリプトのデフォルト構成ファイル tsconfig.json
- declaration
を作成します。これは、コンパイルするかどうかを指定するために使用されます。完了後、対応する * .d.ts ファイルが生成されます。デフォルトは false
- outdir
TS コンパイル後のディレクトリを定義します。宣言がない場合、デフォルトのコンパイル済みファイルの場所は ts と同じになります。同じ場所で
#コマンドを実行します
npx tsc --init
次の構成を変更します
"compilerOptions": { ... "outDir": "dist", // 编译后输出目录 "declaration": true // 生成 d.ts }プロジェクト エントリ ファイルを作成します
作成
server.tsファイル<pre class='brush:php;toolbar:false;'>import express from &#39;express&#39;
const app = express()
const PORT = 3000
app.use(express.json())
app.get(&#39;/&#39;, (req, res) => {
res.send(‘Hello World!’)
})
app.listen(PORT, () => {
console.log(`Server is listening on port ${PORT}`)
})</pre>
上記の手順を完了すると、ファイル ディレクトリ構造は次のようになります
. ├── node_modules ├── package-lock.json ├── package.json ├── server.ts └── tsconfig.jsonコンパイル TS
次のステップは、TS Node.js アプリケーションを構築してデプロイすることです。運用環境では、TS バージョンではなく、コンパイルされた JS を実行します。次に、プロジェクトをコンパイルしましょう。
package.json ファイルを変更し、次のコマンドを追加します。
- npm run tsc
は構成に従ってコンパイルされます。 tsconfig.json のプロジェクトと指定されたディレクトリへの出力
##npm run start:prod - はコンパイル済みの JS ファイルを実行します
"scripts": { "tsc": "tsc", "start:prod": "node dist/server.js" }
次にローカルでテストします
npm run tsc npm run start:prod # 服务启动成功,运行端口:3000ブラウザ経由で http://localhost:3000/ にアクセスすると、アクセスが成功します。その後、アプリケーションをデプロイして公開します
アプリケーションのデプロイと公開
ここでは主に 2 つの方法を使用して、コンパイルされた TS プロジェクトをさまざまな環境に配布およびデプロイします
npm の形式依存関係パッケージ
- docker コンテナー メソッド
- NPM 依存関係パッケージの形式
NPM ライフ サイクル フック
指定された操作がトリガーされると、いくつかの特別なライフ サイクル フックがトリガーされます。ここでは、「prepare」フックを使用します。これは、NPM に公開する npm pub コマンドを実行する前に 1 回トリガーされます。したがって、この時点で TS アプリケーションをコンパイルできます。
発行ファイルを指定する
「ファイル」フィールドを使用して、NPM パッケージを発行するときにどのファイルを含める必要があるかを定義できます。この属性が省略された場合、デフォルトは["*" ] の場合、すべてのファイルがアップロードされます。
以下は、変更された package.json"name": "my-app-xiaoshuai", // 我们发布到NPM上的名字 "main": "dist/server.js", // 修改入口文件地址 "types": "dist/server.d.ts", // 指定TS类型文件 "files": [ "dist", "package.json", "package-lock.json", "README.md" ], "scripts": { "tsc": "tsc", "prepare": "npm run tsc" // 编辑typescript }
npm public
package.json 構成を変更した後、npm pub コマンドを実行します。アプリケーションを NPM に公開しますnpm publish
Output
公開に成功すると、npmjs xiaoshuai に追加の my-app- があることがわかります。
Docker コンテナ メソッド
TS Node.js アプリケーションをコンテナとして公開するには、 docker 構成ファイル プロジェクトのルート ディレクトリにある Dockerfile。
Dockerfile を段階的に書いてみましょう コンパイルされたファイルをコンテナーにコピーします- package.json と package をコピーします-lock.json をコンテナーに入れます
- 使用 npm install
- 依存関係をインストールします
使用 ノード ビルド/サーバー.js - アプリケーションを実行します
# Node 版本 FROM node:14.18.0-alpine ARG NODE_ENV=production ENV NODE_ENV $NODE_ENV COPY ./dist /dist COPY ./package.json /package.json COPY ./package-lock.json /package-lock.json RUN NODE_ENV=$NODE_ENV npm install EXPOSE 3000 CMD ["node", "dist/server.js"]
现在我们可以在根目录中构建docker镜像,运行 docker build --tag my-app:test .
命令
docker build --tag my-app:test .
成功后输出如下
接着我们运行容器,使用docker run -p 3000:3000 -it my-app:test
命令来运行我们的应用,可以看到程序成功运行在3000端口
docker run -p 3000:3000 -it my-app:test # 服务启动成功,运行端口:3000
通过浏览器访问http://localhost:3000/,访问成功
源码
https://github.com/cmdfas/ts-node-express-deploy
总结
今天我们介绍了创建TS Node.js项目和部署它的基础知识,希望对大家有所帮助,能够用在现在或未来的项目中。
更多编程相关知识,请访问:编程视频!!
以上がTS Node.js プロジェクトを正しく迅速にデプロイする方法を段階的に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

Pythonはデータサイエンスや機械学習により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、簡潔な構文とリッチライブラリエコシステムで知られており、データ分析とWeb開発に適しています。 2。JavaScriptは、フロントエンド開発の中核です。 node.jsはサーバー側のプログラミングをサポートしており、フルスタック開発に適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

WebStorm Mac版
便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
