npmとは
npmはNode.js環境下で使われるJavaScriptのパッケージマネージャです。
Javaで使われるMavenやpythonのpipなどのようにライブラリを一元管理することができ、
コマンド一発で外部リポジトリからライブラリをインストールすることができます。
またJavaScriptのパッケージマネージャだけあってフロントエンドの開発に親和性が高く、
npm scripts
と呼ばれるスクリプトを呼び出し、ビルドやサーバ起動等もできます。
npmのインストール
# nodebrew(node.jsのバージョン管理ツール)をインストール $ brew install nodebrew # 最新のnode.jsをインストール $ nodebrew install-binary latest # node.jsのバージョンを指定して有効化 $ nodebrew use v9.8.0 # nodeコマンドが使えるように使用しているシェルのrcファイルにPATH記述追加 $ echo 'export PATH=$PATH:/Users/...../.nodebrew/current/bin' >> ~/.bashrc $ source ~/.bashrc $ npm -v
npmが管理するディレクトリを初期化
npm
はプロジェクトごとにパッケージの管理を行うことができます。
パッケージ管理の対象としたいディレクトリで以下のコマンドを実行します。
$ npm init
コマンドを実行すると、初期化を行うにあたりいくつか質問されます。
この内容はpackage.json
ファイルとなって、プロジェクト配下に保存されます。
$ ls package.json $ cat package.json { "name": "test", "version": "1.0.0", "description": "test package", "main": "index.js", "scripts": { "test": "test" }, "repository": { "type": "git", "url": "none" }, "keywords": [ "test" ], "author": "rennnosuke", "license": "MIT" }
今後、npmを使ってビルドやサーバ起動をする際にpackage.json
が必要になります。
npmでサーバを立てる
npm
コマンドによってサーバを立てます。
# npm serveのインストール $ npm install -g serve # 実行 $ serve ┌──────────────────────────────────────────────────┐ │ │ │ Serving! │ │ │ │ - Local: http://localhost:5000 │ │ - On Your Network: http://192.168.0.10:5000 │ │ │ │ Copied local address to clipboard! │ │ │ └──────────────────────────────────────────────────┘
無事立ち上がりました!
認証込みでサーバ立ち上げ
--auth
オプションを組み合わせることで、ベーシック認証込みでサーバを立ち上げることができます。
$ SERVE_USER=leo SERVE_PASSWORD=1234 serve --auth
アプリケーション内でserve
を使用
アプリケーション内でserve
を呼び出すこともできます。
動的にサーバ起動・終了・設定を行いたい場合に。
const serve = require('serve'); const server = serve(__dirname, { port: 1337, ignore: ['node_modules'] });