ホームページ ウェブフロントエンド jsチュートリアル Node を使用してファイルを構成する方法 (詳細なチュートリアル)

Node を使用してファイルを構成する方法 (詳細なチュートリアル)

Jun 14, 2018 am 11:34 AM
node nodejs 設定ファイル

この記事では、Node のさまざまな環境での構成ファイルの使用に関する関連情報を主に紹介し、サンプル コードを通じて詳細に紹介します。この記事は、学習や仕事に必要な学習に役立ちます。以下を読んで一緒に学びましょう。

はじめに

Node.js を使用して完全なプロジェクトを作成する場合、プログラムをさまざまな環境で実行できるように、プログラム内でいくつかの構成可能な変数が必要になることがよくあります。ご存知のとおり、実際にはプロジェクトには複数の変数が含まれます。異なる環境では、一部の構成が異なります。開発効率を向上させるために、異なる環境で異なる構成を呼び出すにはどうすればよいですか?以下では多くを語る必要はありません。詳細な紹介を見てみましょう。

1. config-lite モジュール

まず、構成モジュール config-lite を導入し、コマンド npm i config-lite --save を使用してインストールします。

通常、環境ごとに異なる設定ファイルに設定を書き込みます。Node プロジェクトの下に新しい設定ディレクトリを作成し、異なる環境用に新しい設定ファイルを作成します。ここでは「開発」と「運用」の 2 つの環境を使用します。操作方法を例を挙げて説明します。

開発環境では、config ディレクトリに test.js とdefault.js という 2 つの新しいファイルが作成されます。実稼働マシンの構成は実稼働環境で作成する必要があるのに、なぜ実稼働マシンの構成ファイルがないのか疑問に思われるかもしれません。

test.js 設定ファイルに次のコードを書きます (追記: ここでは例として mysql の設定を示します):

// test.js
module.exports = {
 mysql : {
 host: "localhost",
 user: "lupeng",
 password: "080910",
 database: "b1imd"
 }
};
ログイン後にコピー

default.js にセッション設定などのいくつかのデフォルト設定ファイルを書き込みます。

// default.js
module.exports = {
 mysql : {
 host: "10.20.141.220",
 user: "lupeng",
 password: "123456",
 database: "b1imd"
 },
 session: {
 secret: 'keyboard cat',
 resave: false,
 saveUninitialized: true,
 cookie: {
  maxAge: 1000*60*60
 }
 }
};
ログイン後にコピー

さて、設定ファイルが書かれたけど、どうやって使うの?ここでは config-lite モジュールを使用します。このモジュールは環境変数に基づいてさまざまな構成ファイルを選択するため、使用する前に package.json の起動コマンドを変更する必要があります:

"scripts": {
 "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www",
 "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www"
 },
ログイン後にコピー

ご覧のとおり、上記には 2 つの起動コマンドがあります。コマンドは、1 つは運用マシン用であり、NODE_ENV=production を設定し、もう 1 つはテスト マシン用で、npm test を使用して開始する場合に設定します。プロジェクトでは、config-lite が test.js の設定を取得し、default.js の設定とマージします。同じオブジェクトがある場合、default.js の設定は上書きされます。上記の例にはすべて mysql オブジェクトがあるため、ここでは test.js のオブジェクトが優先されます。 NODE_ENV=production,一条是针对测试机,设置了NODE_ENV=test,当我们使用npm test启动项目的时候,config-lite会去抓取test.js配置,并且会与default.js里配置去合并,如果有相同的对象,会覆盖default.js里的配置。如上例子都有mysql的对象,那么这里会以test.js里的对象为准。

好了,下面来介绍一下如何在项目中使用config-lite模块,在app.js里代码如下:

// 省略...
var config = require('config-lite')(__dirname);
// 省略...
app.use(session(config.session));
console.log("mysql服务器:" + config.mysql.host); // display mysql-config
// 省略...
ログイン後にコピー

引入之后,可以直接使用配置文件中的配置对象。

2. 生产环境

那么在生产环境中,如何使用呢?上面已经介绍了config-lite基本原理以及用法,在生产环境的时候,我们只需要在生产机环境中config目录下新建production.js文件,然后使用启动命令npm start即可。

为了避免测试环境以及生产坏境配置文件混淆,可以通过.gitignore文件忽略配置文件,添加如下:

# config
config/*
!config/default.*
ログイン後にコピー

这样,git会忽略除了default.js之外的配置文件,在本地开发环境中,可以创建多个配置文件测试使用,只需设置对应的环境变量即可。需要注意的是环境变量名需同配置文件名一样。

3. windows环境

也许你是一个多系统环境开发者,可能同时在Linux和windows环境下开发,由于windows下设置环境的变量的语法不太一样,所以可以在package.json启动命令中再加上两句,如下:

"scripts": {
 "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www",
 "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www",
 "winStart": "SET NODE_ENV=production&&supervisor --harmony -i views/ ./bin/www",
 "winTest": "SET NODE_ENV=test&&supervisor --harmony -i views/ ./bin/www" 
 }
ログイン後にコピー

这样,如果部署在windows环境下,在config目录下新建production.js配置文件,启动命令npm winStart;

それでは、プロジェクトで config-lite モジュールを使用する方法を紹介しましょう。 app.js のコードは次のとおりです。

rrreee

導入後は、構成ファイル内の構成オブジェクトを直接使用できます。

2. 実稼働環境

それでは、実稼働環境でどのように使用するのでしょうか? config-lite の基本原理と使用法は上で紹介しました。実稼働環境では、実稼働マシン環境の config ディレクトリに新しいproduction.js ファイルを作成し、起動コマンド npm start を使用するだけです。

テスト環境と運用環境の設定ファイルの間の混乱を避けるために、.gitignore ファイルを使用して設定ファイルを無視し、以下を追加できます:

rrreeeこのようにして、git はdefault.js 以外の設定ファイルを無視します。ローカル開発環境では、対応する環境変数を設定するだけで、テストおよび使用用に複数の構成ファイルを作成できます。環境変数名は設定ファイル名と同じである必要があることに注意してください。

🎜🎜3. Windows 環境🎜🎜🎜🎜おそらく、あなたはマルチシステム環境の開発者であり、Linux 環境と Windows 環境で同時に開発する可能性があります。これは、Windows では環境変数を設定するための構文が異なるためです。次のように、json 起動コマンドに 2 つの文を追加します: 🎜rrreee🎜 この方法で、Windows 環境にデプロイする場合は、config ディレクトリに新しいproduction.js 構成ファイルを作成し、コマンド npm を開始します。 winStart; Linux または Unix のような環境にデプロイされている場合は、production.js を作成してコマンド npm start を開始することもできます。 🎜🎜上記は私があなたのためにまとめたものです。 🎜🎜関連記事: 🎜🎜🎜React Native Flexbox レイアウトの詳細な解釈🎜🎜🎜🎜 vue 単一ファイルの参照パスの方法は何ですか? 🎜🎜🎜🎜weex での webpack.config.js の変換の詳細🎜🎜

以上がNode を使用してファイルを構成する方法 (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodejs はバックエンド フレームワークですか? Nodejs はバックエンド フレームワークですか? Apr 21, 2024 am 05:09 AM

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

Nodejsをmysqlデータベースに接続する方法 Nodejsをmysqlデータベースに接続する方法 Apr 21, 2024 am 06:13 AM

MySQL データベースに接続するには、次の手順に従う必要があります。 mysql2 ドライバーをインストールします。 mysql2.createConnection() を使用して、ホスト アドレス、ポート、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。 connection.query() を使用してクエリを実行します。最後に connection.end() を使用して接続を終了します。

Nodejsのグローバル変数とは何ですか Nodejsのグローバル変数とは何ですか Apr 21, 2024 am 04:54 AM

Node.js には次のグローバル変数が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環境変数: __dirname、__filename、__line、__column 定数: unknown、null、NaN、Infinity、-Infinity

Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Apr 21, 2024 am 05:18 AM

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Win10 のユーザー プロファイルはどこにありますか? Win10 でユーザー プロファイルを設定する方法は? Win10 のユーザー プロファイルはどこにありますか? Win10 でユーザー プロファイルを設定する方法は? Jun 25, 2024 pm 05:55 PM

最近、多くの Win10 システム ユーザーがユーザー プロファイルを変更したいと思っていますが、その方法がわかりません。この記事では、Win10 システムでユーザー プロファイルを設定する方法を説明します。 Win10 でユーザー プロファイルを設定する方法 1. まず、「Win+I」キーを押して設定インターフェイスを開き、クリックして「システム」設定に入ります。 2. 次に、開いたインターフェースで、左側の「バージョン情報」をクリックし、「システムの詳細設定」を見つけてクリックします。 3. 次に、ポップアップ ウィンドウで「」オプション バーに切り替え、下の「ユーザー構成」をクリックします。

NodejsとJavaの間に大きな違いはありますか? NodejsとJavaの間に大きな違いはありますか? Apr 21, 2024 am 06:12 AM

Node.js と Java の主な違いは、設計と機能です。 イベント駆動型とスレッド駆動型: Node.js はイベント駆動型で、Java はスレッド駆動型です。シングルスレッドとマルチスレッド: Node.js はシングルスレッドのイベント ループを使用し、Java はマルチスレッド アーキテクチャを使用します。ランタイム環境: Node.js は V8 JavaScript エンジン上で実行され、Java は JVM 上で実行されます。構文: Node.js は JavaScript 構文を使用し、Java は Java 構文を使用します。目的: Node.js は I/O 集中型のタスクに適しており、Java は大規模なエンタープライズ アプリケーションに適しています。

Nodejs はバックエンド開発言語ですか? Nodejs はバックエンド開発言語ですか? Apr 21, 2024 am 05:09 AM

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

See all articles