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-


www.google.com