Expressを使用してプロジェクトを自動的にビルドするNode.jsのプロセス全体

Expressを使用してプロジェクトを自動的にビルドするNode.jsのプロセス全体

1. Expressライブラリとジェネレータをインストールする

cmdを開いて、次のコマンドを入力します: yarn global add express express-generator

説明する:
上記の 2 つのモジュールは、それぞれライブラリとジェネレーターを表しています。express3 では、express をインストールするとジェネレーター express-generator が自動的にインストールされますが、express4 ではそれらが分離されているため、個別にインストールする必要があります。

インストール後、コマンド express --version を使用してインストールが成功したかどうかを確認できます。

バージョン番号が表示されたらインストールは成功です(下の図を参照)。

2.エクスプレスジェネレーターはエクスプレスプロジェクトを自動的に作成します

コマンドを入力します: express nodejs (以下のように成功します)

成功後のディレクトリ:

3. package.jsonディレクトリに移動して関連パッケージをインストールします。

コマンドを入力します: yarn または cnpm i または npm i

4. プロジェクトを開始する

コマンドを入力してください: npm run start

ブラウザを開いて127.0.0.1:3000にアクセスし、プロジェクトにアクセスします。

V. プロジェクトカタログの説明

bin: 実行可能ファイルを保存する
public: js、css、img などのファイルを保存します
ルーター: ルーティングファイルを保存します
ビュー: ビューファイルまたはテンプレートファイルを保存する
app.js: 起動ファイル(エントリファイル)
package.json: プロジェクト情報とモジュールの依存関係を保存します。依存関係に依存モジュールを追加して npm install を実行すると、npm は現在のディレクトリの package.json をチェックし、指定されたすべてのモジュールを自動的にインストールします。
node_modules: package.json にインストールされたモジュールを保存します。依存モジュールを package.json に追加してインストールすると、このフォルダーに保存されます。

参考リンク: https://www.jb51.net/article/209247.htm

6. このプロジェクトでの開発方法

まず、ルートに新しいtest.jsファイルを作成します。

var express = require('express');
var ルーター = express.Router();

router.get('/', 関数(req, res, next) {
	res.send('私はインターフェースの戻り値です');
});

モジュール.exports = ルーター;

次にapp.jsに次のコードを追加します。

var testRouter = require('./routes/test');
app.use('/test', testRouter);

次にブラウザコンソールを開き、fetchを使用して先ほど作成したインターフェースをリクエストします。

フェッチ('http:localhost:3000/test')
.then(res=>{
  res.text() を返す
}).then(res=>{
  コンソール.log(res)
})

クロスドメインの問題があることがわかりました。これは、Node.js にクロスドメインを追加しなかったために発生しました。

app.jsに次のクロスドメインコードを追加します。

//クロスドメインアクセスを設定する(すべてのリクエストの前に設定する)
app.all("*", 関数(req, res, next) {
	// ドメイン間を移動できるドメイン名を設定します。* は、任意のドメイン名がドメイン間を移動できることを表します。res.header("Access-Control-Allow-Origin", "*");
	// 許可されるヘッダー タイプ res.header("Access-Control-Allow-Headers", "content-type");
	//クロスドメインで許可されるリクエストメソッド res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
	if (req.method == 'OPTIONS')
		res.sendStatus(200); //オプションでクイック終了を要求します。
		次();
});

その後、プロジェクトを再起動して通常通りアクセスできるようにします。

プロジェクトの内容を変更すると、プロジェクトを手動で再起動する必要があり、少し面倒です。この問題は、プラグインをインストールすることで解決できます。

7. nodemonを使用してサービスを自動的に再起動する

nodemonモジュールをインストールする

コマンドを入力します: npm i nodemon -S

nodemon.jsonファイルを作成する

プロジェクトのルート ディレクトリに nodemon.json ファイルを作成します。

{
	"再起動可能": "rs",
	"無視": [".git", ".svn", "node_modules/**/node_modules"],
	「詳細」:true、
	"実行マップ": {
		"js": "ノード --harmony"
	},
	"時計": []、
	"env": {
		"NODE_ENV": "開発"
	},
	"ext": "js json njk css js"
}

nodemonモジュールの使用

package.jsonファイルにスクリプトコードの行を追加します

"dev": "nodemon ./bin/www"

コードは私の github リポジトリに配置されています。リンクは github.com/wuguanfei/n… に添付されています。

要約する

これで、node.js と express を使用してプロジェクトを自動的にビルドする方法についての記事は終了です。node.js express を使用してプロジェクトを自動的にビルドする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Node koa2 ssr プロジェクト構築手順
  • Alibaba Cloud での Node.js プロジェクトの簡単なデプロイ
  • クラウド サーバーに Node.js プロジェクトをデプロイする方法 (初心者向けシリーズ)
  • ノードでVueプロジェクトを作成する詳細な手順
  • プロジェクトエンジニアリングの自動初期化の標準プロセスを実現するノードコマンドラインツール
  • Node.js プロジェクト内のすべての空のフォルダーに gitkeep を作成する方法
  • vueSSR プロジェクトを 0 から 1 にビルドする: ノードと vue-cli3 の構成
  • PHPStormでNode.jsプロジェクトをユニットテストする方法
  • pm2 を使用してノード プロジェクトを自動的にデプロイする方法
  • node.js が大規模プロジェクトに適さない理由

<<:  MySqlは、外部ネットワーク接続クライアントの低速問題を解決するためにskip-name-resolveを使用します。

>>:  Dockerコンテナのログ処理の詳細な説明

推薦する

Tomcat と WebLogic で純粋な HTML ファイルを展開するプロセスの分析

1. まず、純粋なHTMLファイルにはindex.htmlというエントリが必要です。 2. Tomc...

MySQL インデックスの原理と使用例の分析

この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

MySQL 8.0.23 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

この記事では、MySQL 8.0.23のインストールと設定方法を参考までに紹介します。具体的な内容は...

Nginx プロセス スケジューリングの問題の詳細な説明

Nginx は、マスター プロセス (MasterProcess) と、同じ数のホスト CPU コア...

Linuxコマンドのファイル上書きとファイル追加の詳細な説明

1. コマンド > と >> の違いコマンド>: ファイルが存在する場合は、...

Vueのハッシュジャンプ原理の詳細な説明

目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...

mysql8.0.12 でルートパスワードをリセットする方法

データベースをインストールした後、誤ってインストール ウィンドウを閉じたり、長期間 root ユーザ...

実用的な情報が満載のJavaScript Webフォーム機能通信

1. はじめに先ほど、フロントエンドの表示の問題について説明しました。では、前のコンテンツに戻って、...

JavaScript で右クリック メニューを統合する layim のサンプル コード

目次1. 効果の実証2. 実装チュートリアル3. 最後に、完全なコードを添付します4. その他の右ク...

HTML テーブル マークアップ チュートリアル (48): CSS で変更されたテーブル

<br />では、CSS 構文を巧みに使用してテーブルを美しくする方法を見てみましょう。...

MySQL テーブル名の大文字と小文字の選択

目次1. 大文字と小文字の区別を決定するパラメータ2. パラメータ変更に関する注意事項要約: 1. ...

Redo ログと Undo ログに基づく MySQL クラッシュ回復の分析

目次MySQLクラッシュ回復プロセス1. ブラックボックス下のデータフローを更新する2. やり直しロ...

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法

目次MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法1. 非同...