2013-11-12 npmは良いものだ
現状のぼくのNode.jsのプロジェクトのはじめかたをメモしておく。あとで読み返したときに成長を感じるためだけのものなので、間違っても参考にはしないように。
まずは作業ディレクトリを作ってnpm init。npm 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はコールバックを書きやすくするためのライブラリ。まだ何とも言えないけど、momentやmongodbもよく使うものに入ってくるかも。お試し中。もちろん--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.