npm
Node.jpの特徴
・非同期処理により処理が速い
・「V8」エンジンを利用されているため処理が非常に速い
・シングルスレッドのためメモリ消費の効率が良い
Node.jsのメリット
・大量のアクセスにも耐えることが可能かつ高速処理を実現
・メモリ消費量を抑えることが可能
・読みやすいプログラムを設計することが可能
・フロントエンドからサーバーサイドに至るまでJavaScriptだけで記述可能
パッケージ
プログラムがたくさん入ったフォルダーのようなもの。
世の中のパッケージを使えば自分で一からコードを書かなくとも高度な機能を実現することができる。
npmにとってパッケージというのはpackage.jsonというファイルの親ディレクトリに含まれるファイル群である。
NPMとは
npmの正式名称は、Node Package Manager(Node .jsnのパッケージを管理するツール)
NPMと名のつくものは2つ
・オンライン上のパッケージレジストリ、つまり世界中の開発者が作ったNode.js パッケージが集められた場所
・Node.jpに付属している、パッケージを操作するためのCLI(コマンドラインインターフェイス;コマンドラインから実行できるプログラム)パッケージを作成したり、NPM 上のパッケージをローカルにインストールしたり、自分のパッケージを NPM に公開したりと、Node.js の開発に欠かせないツール
※ Node.jp・・・JavaScript実行環境
OSの機能にアクセスするプログラムを組むことができる。
つまりブラウザ上で動作していた時はできなかった自由なファイ
ルの読み書きやネットワーク通信などのOSの機能を扱える。
大量の同時接続をさばけるようなネットワークアプリケー
ションを構築することを目的として設計されています
Node.jsを使う目的
1.新しい仕様のJavaScriptやTypeScriptでクライアントサイドのプログラムを
書きたい
2.Webアプリケーションを作りたい
3.モバイル/デスクトップ用のアプリケーションを作りたい
Node.jsで使いたいライブラリがある場合、jsファイルをダウンロードしてきて<script src="xxx.js"></script>
とはせずにnpmを使ってインストールします。
□npmの特徴
・JavaScriptで書かれたプログラム
・node.jsパッケージ管理システム
・パッケージのバージョン管理・インストール補助に使用
・サーバーサイドで動く
□npmの主な機能
・ヘルプ機能
・バージョン管理機能
・パッケージのインストール
・インストール済みのパッケージ一覧表示
・パッケージのアップデート
・パッケージのアンインストール
npm install のコマンドを打つと何をしてくれるのか
npm install (パッケージ名なし)
パッケージ名なしで npm install を実行すると、package.json
と package-lock.json
に基づいて dependency が全てローカル(node_modules
)にインストールされる。
これを実行する必要があるのは、開発中のパッケージのソースコードだけ手元にある状態でdependencyがインストールされてない時である。
これに当てはまるのは以下のケース↓
・GitHub上のパッケージを開発/実行したいので、新しいマシン常にclone してきた
・create-react-appなどの、新しくプロジェクトを生成するツールを使ってパッケージを作成した
・node_modules内のファイルを謝っていじってしまい、一旦node_modulesごと削除した
※ dependency・・・プログラミングにおけるデザインパターンの一種でオブジェクトを成立させるために必要となるコード実行時に注入してゆくという概念のこと
npm install(パッケージ名)と打ったら何が起こるか
指定したパッケージがローカルにインストールされる。
これを使うのは、「dependencyは既にすべてインストールされており、新しく dependency を追加したいとき」である。
npm install したパッケージをソースコード中で使う
□npmの代表的なパッケージ例
○Express
Node.jsのための、高速で軽量でオープンなWebフレームワーク
[使い方]
①初期化を行う
mkdir myapp cd myapp npm init
1行目の mkdir myapp では、Expressの実装ファイルを入れるmyappディレクトリを作成
2行目の cd myapp では、myapp ディレクトリに移動
3行目の npm init では、myappで初期化処理
②Expressを実際にインストールする
npm install express
③Expressで実装する
index.jpソースコード
var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { });
表示結果
Hello World!
1行目のvar express = require(‘express’);では、expressをrequireで呼び出して、変数expressに代入しています。
2行目のvar app = express( );では、expressを変数appに代入することで初期化しています。
3行目のapp.get(‘/’, function (req, res) {では、appに代入されているexpressのgetメソッドを使用して、ルートパス(/)にアクセスされた際(req)、表示する処理を(res)しています。
4行目のres.send(‘Hello World!’);では、Hello World!を表示するために処理する(res.send)事を意味しています。
5行目の});では、3行目の処理を終了することを意味します。
6行目のapp.listen(3000, function ( ) {では、3000ポートにアクセスした場合に今回のアプリケーションが動作する実装をしています。
7行目の);では、6行目の処理を終了することを意味します。
④Expressを実行する
npm run server
npm run serverをコマンドプロンプトで実行することでNode.jsサーバーが起動します。
起動後、Chrome等のブラウザで「http://localhost:3000」とアクセスすることで実行後の表示が可能となります。
参考サイト
https://qiita.com/righteous/items/e5448cb2e7e11ab7d477#packagejson-