nodejsのパッケージ化設定

May 18, 2023 pm 12:43 PM

Node.js は、高パフォーマンスや非同期 I/O などの利点を備えたオープンソースのクロスプラットフォーム JavaScript 実行環境です。日常の開発では、簡単にデプロイして使用できるように、複数の Node.js ファイルを 1 つの実行可能ファイルにパッケージ化することが必要になることがよくあります。この記事では、Node.js パッケージ化ツールを使用して複数の Node.js ファイルを実行可能ファイルにパッケージ化する方法と、いくつかの一般的なパッケージ化設定を提供する方法を紹介します。

1. Node.js パッケージ化ツール

Node.js では、npm package、pkg、nexe など、さまざまなパッケージ化ツールから選択できます。この記事では主にnpmパッケージとpkgを紹介します。

  1. npm package

npm package は、Node.js に付属する npm モジュールのコマンドで、プロジェクト ファイルを直接実行できるファイルにパッケージ化できます。 。 npm パッケージを使用する場合は、グローバル モードでインストールする必要があります:

npm install -g npm-package
ログイン後にコピー

インストールが完了したら、次のコマンドを使用して Node.js ファイルを実行可能ファイルにパッケージ化できます:

npm-package .
ログイン後にコピー

where "." は現在のディレクトリを示します。このコマンドは、現在のディレクトリ内のすべてのファイルを実行可能ファイルにパッケージ化します。

  1. pkg

pkg は、Node.js の別のパッケージ化ツールです。Node.js ファイルを実行可能ファイルにパッケージ化し、必要な Node.js 実行環境を含めることができます。パッケージ化されたファイルは、Node.js 環境のないマシン上で直接実行できます。 pkg を使用する場合は、最初にインストールする必要があります:

npm install -g pkg
ログイン後にコピー

インストールが完了したら、次のコマンドを使用して Node.js ファイルを実行可能ファイルにパッケージ化できます:

pkg filename.js
ログイン後にコピー

ここで、 filename.js はパッケージ化されたファイル名である必要があります。パッケージ化が完了すると、node.exe、filename、filename.cmd の 3 つのファイルが生成されます。node.exe は Node.js 環境を含む実行可能ファイル、filename と filename.cmd は直接実行できるファイルです。

2. Node.js のパッケージ化設定

  1. 依存関係パッケージの紹介

Node.js プロジェクトでは、Express などのいくつかの依存関係パッケージがよく使用されます。 、マングースなど。パッケージ化ツールを使用して Node.js ファイルをパッケージ化する場合は、これらの依存関係パッケージをパッケージ化する必要があります。そうしないと実行されません。プロジェクト フォルダーで次のコマンドを実行すると、すべての依存パッケージをパッケージ化できます:

npm install --save
ログイン後にコピー

これにより、すべての依存パッケージがローカルにインストールされ、package.json ファイルに保存されます。

  1. エントリ ファイルの指定

パッケージ化するときは、エントリ ファイル、つまりパッケージ化後に実行するメイン ファイルを指定する必要があります。次のコードを package.json ファイルに追加することで、エントリ ファイルを指定できます。

"bin": {
  "filename": "path/to/filename.js"
}
ログイン後にコピー

ここで、filename はパッケージ化されたファイル名 (.js 接尾辞は必要ありません)、path/to はパスです指定されたファイルがある場所。

  1. 出力パスの設定

パッケージ ツールを使用して Node.js ファイルをパッケージ化する場合、出力パスを設定することで、パッケージ化されたファイルが保存されるディレクトリを指定できます。 。 package.json ファイルに次のコードを追加して、出力パスを設定できます。

"pkg": {
  "out-path": "path/to/output/folder"
}
ログイン後にコピー

ここで、 path/to/output/folder は、指定された出力ディレクトリへのパスです。

  1. ファイルの除外

プロジェクト フォルダーには、テスト ファイル、開発ドキュメントなど、パッケージ化する必要のないファイルがいくつか存在する可能性があります。これらのファイルは、次のコードを package.json ファイルに追加することで除外できます。

"pkg": {
  "exclude": [
    "*.test.js",
    "docs",
    "node_modules"
  ]
}
ログイン後にコピー

ここで、*.test.js は .test.js で終わるすべてのファイルを除外することを意味し、docs は docs フォルダーを除外することを意味します。そして、node_modules は、node_modules フォルダーを除外することを意味します。

  1. Node.js バージョンの設定

パッケージ ツールを使用して Node.js ファイルをパッケージ化する場合、パッケージ化されたファイルに必要な Node.js バージョンを指定できます。 。次のコードを package.json ファイルに追加して、Node.js バージョンを設定できます。

"pkg": {
  "targets": [
    "node14-win",
    "node12-linux-arm"
  ]
}
ログイン後にコピー

ここで、node14-win および node12-linux-arm は、指定されたパッケージ化されたファイルが Windows バージョンで使用できることを示します。 Node.js 14 および Linux バージョンの Node.js 12 が実行されます。

3. 概要

Node.js では、npm package、pkg など、さまざまなパッケージ化ツールから選択できます。これらのパッケージ化ツールを使用して、複数の Node.js ファイルを実行可能ファイルにパッケージ化し、簡単にデプロイして使用できるようにします。パッケージ化ツールを使用する場合、エントリ ファイルの指定、出力パスの設定、ファイルの除外、Node.js バージョンの設定など、いくつかの一般的なパッケージ化設定を使用できます。これらのパッケージ化設定に習熟すると、プロジェクトのパッケージ化と展開がより便利になります。

以上がnodejsのパッケージ化設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

怠zyなロードの概念を説明してください。 怠zyなロードの概念を説明してください。 Mar 13, 2025 pm 07:47 PM

怠zyなロードの概念を説明してください。

UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? UseEffectとは何ですか?副作用を実行するためにどのように使用しますか? Mar 19, 2025 pm 03:58 PM

UseEffectとは何ですか?副作用を実行するためにどのように使用しますか?

React和解アルゴリズムはどのように機能しますか? React和解アルゴリズムはどのように機能しますか? Mar 18, 2025 pm 01:58 PM

React和解アルゴリズムはどのように機能しますか?

JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか? JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか? Mar 18, 2025 pm 01:44 PM

JavaScriptの高次関数とは何ですか?また、より簡潔で再利用可能なコードを書くためにどのように使用できますか?

JavaScriptでカリーはどのように機能し、その利点は何ですか? JavaScriptでカリーはどのように機能し、その利点は何ですか? Mar 18, 2025 pm 01:45 PM

JavaScriptでカリーはどのように機能し、その利点は何ですか?

イベントハンドラーのデフォルトの動作をどのように防止しますか? イベントハンドラーのデフォルトの動作をどのように防止しますか? Mar 19, 2025 pm 04:10 PM

イベントハンドラーのデフォルトの動作をどのように防止しますか?

制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? 制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか? Mar 19, 2025 pm 04:16 PM

制御されたコンポーネントと制御されていないコンポーネントの利点と短所は何ですか?

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか? Mar 19, 2025 pm 03:59 PM

usecontextとは何ですか?コンポーネント間で状態を共有するためにどのように使用しますか?

See all articles