blog.bouzuya.net

2013-11-12 npmは良いものだ

現状のぼくのNode.jsのプロジェクトのはじめかたをメモしておく。あとで読み返したときに成長を感じるためだけのものなので、間違っても参考にはしないように。

まずは作業ディレクトリを作ってnpm initnpm initすればpackage.jsonができる。質問には適当に答える。どうせあとで直すので。

$ mkdir project
$ cd project
$ npm init

次にREADME.mdを作る。といってもプロジェクト名と概要を書くだけ。適当。

$ cat >>README.md <<EOT
> project
> ==============================================================================
> 
> sample project.
> EOT

次にpackage.jsonを修正する。ぼくはscriptに"start": "node index""test": "mocha --reporter test"にする。これでnpm testでテストしたりnpm startで起動させられてハッピー。

$ vim package.json

次にlib/test/を作成する。ついでにファイルを置く。ぼくはJavaScriptのソースコードとしてはindex.jsだけをルートに置きたい。ほかは何かしらのディレクトリの下に入れたい。その方がすっきりして見える。

$ mkdir lib/
$ touch lib/server.js
$ mkdir test/
$ touch test/server.js
$ cat >>index.js <<EOT
> module.exports = require('./lib/server');
> EOT

次に各種ライブラリ(開発向け)をインストールする。とりあえずmocha,should,supertestを使っている。mochaはテスティングフレームワーク。shouldはアサーション。supertestはアサーション付きのHTTPクライアント。--save-devを付けておいてdevDependenciesとしてpackage.jsonに追記してもらう。npmは良い。

$ npm install --save-dev mocha should supertest

次に各種ライブラリ(動作向け)をインストールする。とりあえずexpress,asyncを使っている。expressはWebアプリケーションフレームワーク。Webアプリケーションでなければexpressは要らないね。asyncはコールバックを書きやすくするためのライブラリ。まだ何とも言えないけど、momentmongodbもよく使うものに入ってくるかも。お試し中。もちろん--saveを付けておいてdependenciesとして追記してもらう。

$ npm install --save express async

次に.gitignoreを書く。node_modules/は要らないので無視する。

$ cat >>.gitignore <<EOT
> /node_modules
> EOT

んで、git管理する。

$ git init
$ git add -A
$ git commit -m 'initial commit'

ライブラリはもっといろいろ使ってる気がする。そらで書いたらこんな感じ。

23 min.