「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Nodejsとは

Nodejsとは

2024 年 8 月 1 日に公開
ブラウズ:701

What is Nodejs

Nodejs は JavaScript ランタイムです。これは、nodejs がブラウザの外部で JavaScript を実行できるようにするプログラムであることを意味します。その結果、nodejs を使用してバックエンド アプリケーションを開発できるようになります。さて、これはバックエンドに限定されません。いくつか例を挙げると、デスクトップ アプリケーション、IoT、クラウド アプリケーションを構築できます。 Nodejs はクロスプラットフォームです。プログラム自体は Linux、Windows、macOS で動作します。

Nodejs を使用する理由

Nodejs には次のような利点がありますが、これらに限定されません。

  • ノンブロッキング I/O
  • 非同期
  • スケーラブル
  • イベント運営
  • レイテンシが低い
  • スレッドがあります
  • いつでもどこでも使用可能
  • 大規模なコミュニティがある

ことわざにあるように、すぐに返品すると長期的には不便が伴います。ここでの欠点は、JavaScript (ちなみに私は JavaScript が大好きです) と、スケーリングを念頭に置いて構築したいシステムを設計できない場合があることです。繰り返しますが、Nodejs ではなく、Nodejs を使用するツールと人間です。

ここでnodejsについて詳しく読むことができます

インストール

Nodejs の人々は賢いので、それを尊重します。彼らのおかげで、あなたも私もインストールが簡単になりました。技術的な知識のない人でも、Nodejs をセットアップしてコードを書き始めることができます。これらは、

を使用できるオプションを提供しました。
  • パッケージマネージャー
  • 事前に構築されたインストーラー
  • 事前に構築されたバイナリ
  • ソース コードのビルドによるインストール

このうち、最初の 3 つはフレンドリーです。したがって、それらのいずれかを選択してください。 download-nodejs に進み、「そこに Nodejs を入れましょう」。

現時点では、現在のノードのバージョンは 22 で、LTS (長期サポートあり) は 20 です。

私は Linux マシンを使用しているので、nvm (ノード バージョン マネージャー) を使用してインストールします。これにより、nodejs の複数のバージョンを使用できることがわかります。これは、macOS でもそのまま使用できます。

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

これは、nodejs プラットフォーム (Web サイト) 上の同じスクリプトです。したがって、これらのコマンドを実行しても問題はありません。

Windows の場合は、同様のものになります

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

または、事前に構築されたインストール、node-prebuilt-installer をダウンロードするだけです。最終的には、最後の 2 つのコマンドを実行してインストールを確認できるはずです。

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

NVM

nvm はインストール中に Windows のオプションではありませんでしたが、ここでインストールできます。nvm について少し知っておくと勉強になります。

コマンド nvm list
を使用して、所有している他のバージョンの Nodejs をすべてリストします。

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

上記のことから、v18.18.0 が私が実行している Nodejs であることがわかります。

nvm install 20 を使用して、20 LTS などの他のバージョンをインストールできます

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

これにより、自動的に v20.15.1 に切り替わりました。最新のLTSです。

これで、nvm use 18
により、希望のノード バージョンに切り替えることができます。

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

nvm では以上です

故宮

npm はノード パッケージ マネージャーです。パッケージが何なのか疑問に思っても、心配する必要はありません。パッケージはライブラリと同じです。他の人が書いた一部のコード スニペットやプログラムは、私たちのプログラムで何かを行うために使用できます。したがって、パッケージは問題などを解決することを目的としています。 npm と、yarn、pnpm、bun などの他のノード パッケージ マネージャーは、プロジェクト用にインストールするパッケージの管理に役立ちます。ここでは npm のみに焦点を当てます。

(JavaScript だけでなく)nodejs プロジェクトを開始するには、node パッケージを使用する必要があります。つまり、サードパーティのライブラリ (自分で作成したものではなく、Nodejs に付属していたプログラム) に依存せずにプログラム全体を開発する場合もあります。

コマンド npm init を使用してノード package.json ファイルを作成することで、nodejs アプリケーションを作成できます。 npm init --help を実行すると、npm init の詳細が表示されます。通常、ノード プログラムは新しい環境 (フォルダー) で起動することをお勧めします。したがって、それを作成し、helloworld という名前を付けます。ターミナルを使用します。

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • mkdir helloworld というフォルダーを作成しました
  • helloworld フォルダーに移動し、cd helloworld
  • 次にノードを初期化します (npm init)

これはインストール ウィザードのようなもので、設定手順を順を追って説明します。後で更新できることに注意してください。プロセス全体が終了するまで、ENTER、ENTER を押すだけです。ファイル エクスプローラーで helloworld フォルダーを開くと、上記の出力と同様の内容を含む新しいファイル package.json が表示されます。

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

この構成は直感的です。これから作成するプロジェクト (またはプログラム) の名前が表示されます。親フォルダー名をプロジェクト名として使用します。ノード (プロジェクト) の初期化プロセス中に、ノードに名前を付けたり、他のフィールドに値を指定したりすることもできます。ここで ENTER、ENTER、…

を押していました。

ENTER、ENTER、… を押さずにこれを実行するもう 1 つの方法は、 npm init -y を実行することです。 -y、つまり、はい、デフォルト値を使用します。

主に、ノード パッケージは npmjs.com にあります。 Expressjs ライブラリをインストールするとします。 npmjsでexpressを検索する方法です。ドキュメントには、npm iexpress.
コマンドを使用してインストールする方法が記載されています。

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

i はインストールを意味します。これを npm install Express として書き込みます。 package.json はパッケージが追加されて更新されます。

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

これで、新しい依存関係ができました。

ファイルやフォルダーは作成されないことに注意してください。 ls
を実行すると

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • node_modules があります。これは、プログラムが使用する依存関係 (パッケージ) を保持するフォルダーです。
  • また、ロックファイルとして機能する package-lock.json もあるので、この名前が付けられています。これは、プログラムの作成にインストールして使用するパッケージの正確なバージョンをキャプチャします。こうすることで、同じパッケージのバージョンが異なると動作が異なる可能性があるため、同じパッケージとその特定のバージョンを常に使用できます。

とにかく、パッケージは 3 つの方法、つまり環境でインストールできます。これは基本的にパッケージを使用する場所です。

  • global: これは、所有しているすべてのノード プログラムからアクセス可能になります。通常、パッケージがコマンド ライン ユーティリティなどの汎用プログラムである場合は、パッケージをグローバルにインストールします。
  • development: これは開発専用であり、リモート サーバーにはその依存関係のユースケースを処理する独自の方法があるため、一部のリモート サーバーでは使用されません。これらは通常、他のライブラリと連携して目的を達成するユーティリティ ライブラリです。これらには、eslint、prettier、dotenv などが含まれますが、これらに限定されません。
  • production: これは、アプリケーションが主に機能するために依存するパッケージです。急行のように。

我々はできる、

  • npm i -g package-names ... パッケージをグローバルにインストールするには
  • npm i --global package-names ... パッケージをグローバルにインストールするには
  • npm i -S package-names ... パッケージをインストールします (実稼働用)
  • npm i --save package-names ... パッケージをインストールします (実稼働用)
  • npm i -D package-names ... パッケージをインストールします (開発の場合、アプリケーションを実行するために必要ありません)
  • npm i --save-dev package-names ... パッケージをインストールします (開発の場合、アプリケーションを実行するためにパッケージは必要ありません)
  • npm uninstall package-names ... パッケージ
  • を削除またはアンインストールします

基本的に、パッケージを管理するために必要なのはこれだけです。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/otumianempire/what-is-nodejs-4h10?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3