0
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?

node.js,nvm,npm 覚書

Posted at

node.js,nvm(NodeVersionManager),npm(NodePackageManager)...

そもそもnode.jsとは?

  • 一言で言うとJavaScriptをサーバーサイドで実行できるようにするための環境
  • サーバーサイド、クライアントサイドどちらもJavaScriptで書ける
  • ファイル操作、ネットワーク通信、データベースアクセスなど、サーバーサイドのタスクをJavaScriptで記述できる
  • 非同期処理(Asynchronous Programming)が得意

Q:サーバーサイドで実行できて何がいいの?

・安全
機密情報(APIキー、ユーザーのパスワードなど)や重要なロジックをサーバーに隠すことで、クライアント側に露出せず、安全性が高まる。

・軽い
サーバーが重い計算やデータ処理を代行することで、クライアント(ブラウザやアプリ)の負荷を減らし、動作を軽くできる

・便利
サーバーサイドでは、バックグラウンドで複雑なロジックや連携を実行できる。これにより、クライアント側では実現できない高度な機能を提供できる

nvmとは?

Node.jsの複数のバージョンを簡単にインストールしたり切り替えたりできる便利なツール
NVMを使う理由:

  • プロジェクトごとに異なるNode.jsのバージョンを使いたい
    • 例えば、プロジェクトAではNode.js 14を使い、プロジェクトBではNode.js 18を使う場合。
  • 新しいバージョンを試したい
    • Node.jsの最新バージョンを試してみたいが、現在のプロジェクトに影響を与えたくない場合。
  • 古いプロジェクトを保守する
    • 以前のNode.jsのバージョンで動くプロジェクトを維持する必要がある場合。

npmとは?

Node.jsのパッケージ管理ツール
NPMを使う理由:

  • パッケージの簡単なインストール
    • 外部のライブラリ(パッケージ)をコマンド一つでインストールできます
      npm install パッケージ名
      

    「パッケージ」というのはライブラリやフレームワークのこと
    つまりVueやReact, webpack, jQueryなどのこと


  • 依存関係の自動アップデート

    • パッケージがさらに別のパッケージ(依存関係)に依存している場合、それも自動的にインストールしてくれる
  • プロジェクト環境の再現性

    • package.jsonpackage-lock.json というファイルで、使用したいプロジェクトが必要とするパッケージとそのバージョンを正確に記録しているため、他の開発者やサーバー環境で、まったく同じ状態のパッケージセットを再現可能

npm以外パッケージ管理ツール:
Yarn: npmと似た機能を持ち、高速な依存関係管理が特徴。
pnpm: ディスクスペースの節約を重視した軽量なパッケージ管理ツール。
Composer: PHPのパッケージ管理ツール(Node.js以外の言語向け)。

0
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
0
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?