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コンテナのログ処理の詳細な説明

推薦する

React のクラスからフックへの移行

目次リアクトフック序文なぜフックなのか?クラス関数クラスとフックの比較フックはコンポーネントの状態を...

MySQL 8.0.22 zip圧縮パッケージ版(無料インストール)のダウンロード、インストール、および構成手順の詳細

目次最初のステップはMySQLをダウンロードすることですステップ2: ダウンロードした圧縮パッケージ...

HTMLタグのtarget属性の使用法

1: <a> タグを使用してページにリンクする場合、target 属性の役割は誰もが知っ...

HTML チュートリアル: 順序付きリスト

<br />原文: http://andymao.com/andy/post/103.h...

Ubuntu 19 以下に Android Studio をインストールするチュートリアル

過去の経験から言うと、タスクを完了した後にメモを取るのは良い習慣です。インストール環境はUbuntu...

MySQLデータベースパラダイムの詳細な説明

序文:データベースパラダイムについてはよく耳にしていましたが、詳細まで理解したことはありませんでした...

Nginx を使用して https ルートドメイン名への 301 リダイレクトを実装するためのサンプル コード

SEO とセキュリティを考慮して、301 リダイレクトが必要です。以下の一般的な処理には Nginx...

DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します

たとえば、イントラネットに Jenkins サーバーがある場合、そのサーバーにアクセスするには、その...

Docker execは複数のコマンドを実行します

docker exec コマンドは、実行中のコンテナ内でコマンドを実行できます。 docker ex...

MySQL の挿入ステートメントの使用実体験

目次1. 挿入のいくつかの構文1-1. 通常の挿入文1-2. 挿入または更新1-3. 挿入または交換...

MySQL 条件付きクエリと使用法および優先順位の例の分析

この記事では、例を使用して、MySQL 条件クエリ and or の使用方法と優先順位を説明します。...

Docker+Nginx を使ってシングルページアプリケーションをデプロイする

開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...

Linux で Nginx ロード バランシングを使用して複数の Tomcat を構成する方法

Linux に nginx と複数の tomcat をインストールする方法はここでは紹介しません。不...

Linux TTY/PTS の違いの概要

キーボードで文字を入力すると、対応するプロセスにどのように送信されるのでしょうか? ps や who...

最新のウェブフロントエンドフレームワーク10選を紹介(翻訳)

Web 開発の世界では、フレームワークは非常に一般的です。新しいフレームワークやテンプレートが毎日の...