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.