albatrosary's blog

UI/UXとエンタープライズシステム

SPA 開発に必要なアイテム Node.js

今や Node.js はフロントエンド開発になくてはならない存在です。フロントの特に UI を作成するために JBoss をインストールするとか GrassFish, Tomcat をというのはかなり重量級です。

grunt にしても Node.js を使っていますので「なぜ Node.js なのか」という議論はもはや愚問と言えます。業務アプリケーションを構築するときには無くてはならない存在となっています。

 

自分も含めですが、Node.js をインストールするにあたり

  • 知っておくべきこと
  • やっておくべきこと

がありますのでまとめます。

知っておくべきこと

Node.js とは

Node.js のサイトによると

Node.jsは高速でスケーラブルなネットワークアプリケーションを簡単に構築するためにChromeJavaScript 実行環境上に構築されたプラットフォームです。

Chrome の」と言ってるのは Node.js が V8 JavaScript Engine を使っているためです。

では本題。

 

nodejs をインストールするには

Node.js からインストールするのが最も簡単ですが、Node.js は開発途上のプラットフォームですので頻繁にアップデートされます。これに追随するために、バージョンマネージャーを使うのが良いです。

おすすめは nodebrow です。ぜひ nodebrew をインストールしてください。

 

npm でよく使う -g

Node.js モジュールは2つのディレクトリにインストールすることができる

TWO PATHS

In npm 1.0, there are two ways to install things:

globally —- This drops modules in {prefix}/lib/node_modules, and puts executable files in {prefix}/bin, where {prefix} is usually something like /usr/local. It also installs man pages in {prefix}/share/man, if they’re supplied.
locally —- This installs your package in the current working directory. Node modules go in ./node_modules, executables go in ./node_modules/.bin/, and man pages aren’t installed at all.

 

問題はグローバルにインストールするとなにかと sudo を使う必要がありますので、環境設定を行うと yo コマンドでパーミッションエラーになることはありません。

 

やっておくべきこと 

Node.js の環境設定

ここでは

https://github.com/sindresorhus/guides/blob/master/npm-global-without-sudo-linux.md

を参考にしています。

 

1. グローバルパッケージ用のディレクトリを作成します。

$ mkdir ~/.npm-packages

2. ~/.bashrc を下記のようにします。

NPM_PACKAGES="~/.npm-packages"

NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"

PATH="$NPM_PACKAGES/bin:$PATH"
# Unset manpath so we can inherit from /etc/manpath via the `manpath`
# command
unset MANPATH  # delete if you already modified MANPATH elsewhere in your config
MANPATH="$NPM_PACKAGES/share/man:$(manpath)"

3. ~/.npmrc を下記のようにします。.npmrc に記述することにより、グローバルにインストールされたパッケージの保存場所を npm に教えることになります。

prefix=~/.npm-packages

4. bash コマンドを実行し .bashrc を読み込ませる。

$ bash

参考:~/.bashrc と ~/.bash_profile

~/.bashrc はプロセスとして bash を起動した時に読み込まれるファイルで、~/bash_profile はログイン時に読み込まれるファイルです。

ちなみに profile は下記順番で読み込まれます。

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

最後に

もはや Node.js はエンタープライズでも必須のアイテムです。SPA(シングルページアプリケーション) を開発する場合、フロントの開発環境をどう構築するかがプロジェクト成功の秘訣になります。そのためにも Node.js を積極的に利用し理解を深めて行かなければなりません。