Node.js
Node.jsやってみる。
macは、El Capitan 10.11.5です。
ここでNode.jsをダウンロードしたり、ドキュメントを取得できたりする。 http://nodejs.jp/nodejs.org_ja/ Node.js v0.11.11 マニュアル & ドキュメンテーション
$ node -vv0.11.11$ npm -v1.3.25Node.jsは、サーバ側の言語。Nginxとかを使わないらしい。
//httpモジュールをインポートvar http = require('http');
//Webサーバーの設定http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n');}).listen(3000);
console.log('Server running at http://localhost:3000/');(引用:いまさら聞けないNode.jsの基礎知識とnpm、Gulpのインストール (1/2))
これでWEBサーバ作ったことになる。Node.jsはWEBサーバで、nginx.confみたいなのが上記なんでしょうか??とりあえずやってみる。
~/nodejs/app.jsを作って、上記を書いた。その後、下記を実行。
$ node app.jsServer running at http://localhost:3000/おー表示された。
モジュール管理は、npmでやる。 ビルドツールは、GruntとかGulpとかでやるんだけど、最近はちょっと嫌われているようで、使わないでやるケースも多いらしい。Gulpのがまだ人気あるらしい。
npmでgulpをグローバルインストールする
$ npm install -g gulpgulp用ディレクトリを作って、そこにgulpをインストールする
$ npm install gulp$ gulp -v[03:12:17] CLI version 3.9.1[03:12:17] Local version 3.9.1gulpfile.jsを作成してみる。
'use strict'var gulp = require('gulp');
//watchタスク定義gulp.task('watch', function () { //ファイルが変更されたらメッセージ表示 gulp.watch('*', function (event) { console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); });});
//デフォルトタスクとしてwatch実行gulp.task('default', function () { gulp.run('watch');});gulp実行
$ gulpファイルを追加したり、変更したり、削除したりすると、eventを検知して、event.path、event.typeとかが取得できる。これをもとにテストしたり、コンパイルしたりするんだろう。
ただ、上記コードだと、結構な頻度でエラーが出る。try-catchとかしっかりしたらOKになるのだろうか。
events.js:82throw er; // Unhandled 'error' eventここにあるコンテンツとドットインストールみたらいいかも。 「Node.jsでサーバサイドJavaScript開発入門」
