1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

npmの基本からMaven・コンテナ化まで:パッケージ管理を理解する

Posted at

1. npmとは?

npm(Node Package Manager)は、JavaScriptのパッケージ管理ツールであり、Node.jsの標準パッケージマネージャーとして提供されています。
主に以下の用途で利用されます:

  • JavaScript/TypeScriptのライブラリ管理
  • フロントエンドとバックエンドの依存関係管理
  • ビルド・テストスクリプトの実行
  • オープンソースパッケージの公開と共有

2. npmの主な機能

📌 パッケージのインストール

npmを使うことで、オープンソースのパッケージ(ライブラリやツール)を簡単にインストールできます。

npm install lodash

上記のコマンドを実行すると、lodash という便利なユーティリティライブラリがプロジェクトに追加されます。

package.jsonファイルは下記のコマンドを実行することでカレントディレクトリに生成されます。

npm init -y

📌 依存関係の管理

npmは、package.json ファイルを使ってプロジェクトの依存関係を管理します。
例えば、以下のように package.json に記載すると:

{
  "dependencies": {
    "vue": "^3.0.0",
    "axios": "^1.4.0"
  }
}

npm install を実行すれば、必要なライブラリが自動的にインストールされます。


📌 パッケージの公開

npmを使って独自のライブラリやツールを公開することも可能です。

npm login   # npmアカウントにログイン
npm publish # パッケージを公開

これにより、自作のパッケージをnpm公式レジストリ(npmjs.com)で共有できるようになります。


📌 スクリプト実行

npm run コマンドを使って、ビルド・テスト・デプロイを簡単に実行できます。
例えば、package.json に以下の設定があれば:

{
  "scripts": {
    "start": "node app.js",
    "test": "jest"
  }
}

実行コマンド:

npm run start  # Node.jsアプリを起動
npm run test   # テストを実行

これにより、複雑なコマンドを短縮して実行できるようになります。

3. よく使うnpmコマンド一覧

コマンド 説明
npm init package.json を作成
npm install <package> 指定パッケージをインストール
npm uninstall <package> パッケージを削除
npm update 依存関係の更新
npm list インストール済みパッケージ一覧の表示
npm run <script> package.json に定義されたスクリプトを実行
npm publish 自作のパッケージをnpmに公開

4. npmとMaven、コンテナの関係

npmとMavenはどちらもパッケージ管理ツールですが、対象が異なります。

  • npm → JavaScriptのパッケージ管理(フロントエンド・Node.js向け)
  • Maven → Javaの依存管理とビルド(バックエンド向け)

開発環境の違い

Mavenは .jar.war を生成するビルドツールであり、フロントエンドの管理には向いていません。一方で、Vue.jsのようなモダンなフロントエンド技術を使う場合、npmの導入が必要になります。

Dockerを使った統合例

Vue.jsを導入すると、以下のような形でフロントエンドとバックエンドのコンテナ化が可能です。

# フロントエンド(Vue)のDockerfile
FROM node:18
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "serve"]
# バックエンド(Spring Boot)のDockerfile
FROM openjdk:17
WORKDIR /app
COPY target/app.jar .
CMD ["java", "-jar", "app.jar"]

このように、フロントエンドはnpm、バックエンドはMavenで管理する構成が考えられます。

5. Vue.js導入時の拡張

Vue.jsを導入すると、以下のような拡張が必要になります:

  1. コンポーネント設計 → UIの再利用性向上
  2. API通信(REST APIの利用) → フロントとバックの分離
  3. 状態管理の導入 → VuexやPiniaでデータ管理
  4. ビルド・最適化 → ViteやWebpackの利用

6. まとめ

  • npmはNode.jsの標準パッケージマネージャー
  • package.json を使って依存関係を管理
  • npm installnpm run でライブラリの追加・スクリプト実行が可能
  • 自作パッケージの公開や共有も可能
  • フロントエンドをVue.jsで開発する際に必須となる
  • Mavenはバックエンド向け、npmはフロントエンド向け

npmの活用で開発環境がより効率的になります。Vue.jsの導入を検討している場合は、npmを使ったパッケージ管理をうまく活用すると便利です!


1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?