Skip to main content
package.json ファイルはあらゆる Node.js プロジェクトの心臓部です。依存関係を列挙し、自動化スクリプトを定義し、プロジェクトの動作を設定するマニフェストとして機能します。 このガイドでは、堅牢な package.json の設定方法を学び、プロジェクトが再現可能で、整理されており、Square Cloud 環境と互換性があることを保証します。
1

プロジェクトの初期化

ファイルを作成する最も安全な方法は、NPM CLI を使用することです。プロジェクトのルートに移動し、いずれかのオプションを選択してください:オプション A: 対話形式(初心者におすすめ) 質問に一つずつ答えて、カスタムのメタデータを設定します。
オプション B: 自動(デフォルト) すべてのデフォルト設定を受け入れて、ファイルを即座に生成します。
2

必須メタデータの設定

生成された package.json を開きます。プロフェッショナルなプロジェクトのために、以下のフィールドが正しく入力されていることを確認してください:
  • name: 一意のプロジェクト識別子(kebab-case を使用、例: my-project-api)。
  • version: SemVer 標準に従います(例: 1.0.0)。
  • main: アプリケーションのエントリーポイント(通常は index.js または src/index.js)。
  • type: ES Modules(import/export)を使用する場合は "module" に設定し、CommonJS(require)を使用する場合は削除します。
3

実行スクリプトの設定

scripts セクションは自動化に不可欠です。ここで、アプリケーションをどのように起動、テスト、またはビルドすべきかを定義します。
Square Cloud での初期化について: デフォルトでは、Square Cloud は node MAIN(MAIN に設定されたファイル)を実行しますが、完全な柔軟性を提供します。アプリケーションを起動するためにシステムが実行すべきコマンドを明示的に設定できます(そうすべきです)。例えば、dashboard または Square 設定ファイルで Start Command を npm run start を実行するように設定すれば、上記で定義したスクリプトが確実に使用されます。
4

依存関係の管理

ここには、コードを本番環境で実行するために不可欠なライブラリが記載されます。インストールしてこのリストに自動的に保存するには:
devDependencies と Square Cloud でのビルドに関する注意: ローカル開発でのみ使用するツール(eslint や prettier など)は devDependencies に残します。
重要: Square Cloud はデフォルトで本番モードでインストールを実行します。つまり、devDependencies に記載されているパッケージはインストールされません。クラウドでビルドプロセスを実行する必要がある場合(例: TypeScript のコンパイルや post-install スクリプトの実行)、それらのツールを dependencies に移動する必要があります。そうしないと、パッケージが不足してビルドが失敗します。
5

高度な機能の使用

より複雑なプロジェクトのために、package.json は強力な制御機能を提供します:1. Overrides(バージョンの強制): 使用している依存関係が複数の脆弱性を持つサブ依存関係をインストールする場合に便利です。安全なバージョンへの解決を強制できます:
2. Imports(パスエイリアス): ../../../utils のような長い相対パスを避けます。imports を使うと、ネイティブな内部ショートカットを作成できます(最近の Node が必要です):
これにより、コード内で import db from '#database' を使ってインポートできます。

ヒントとベストプラクティス

  • セマンティックバージョニング: 本番コードが自動アップデートによって壊れるのを防ぐため、^ を削除して重要なバージョンを固定することをお勧めします(例: "^14.14.1" の代わりに "14.14.1" を使用)。
  • セキュリティ: 依存関係の脆弱性を特定するために、npm audit を定期的に実行してください。上で説明した overrides フィールドは、これらの問題を修正する理想的な解決策です。
  • package-lock.json: Git で管理してください。このファイルには、あなたのマシンで動作した正確な依存関係ツリーが記録されています。Square Cloud CLI と VS Code 拡張機能はデフォルトでロックファイルをアップロードから除外するため、Square Cloud は package.json の範囲で許可される最新のバージョンをインストールします。固定したバージョンが必要な場合は、squarecloud.ignore に !package-lock.json を追加して含めてください。
  • 整理: ファイルをクリーンに保ちましょう。scripts セクションが大きくなりすぎた場合は、外部の自動化ツールの使用や、ファイルの分割を検討してください。

最終的なファイルの例

以下は、モダンで最適化された package.json の例です:
package.json

次のステップ

package.json ファイルを設定したら:
  1. Git リポジトリにコミットします。
  2. Node.js ランタイムのガイドでプロジェクトをホストするか、Express や Next.js などのフレームワークガイドに従います。
  3. プッシュのたびに GitHub から自動でデプロイします。