Node.jsやってみる。
macは、El Capitan 10.11.5です。
ここでNode.jsをダウンロードしたり、ドキュメントを取得できたりする。 http://nodejs.jp/nodejs.org_ja/ Node.js v0.11.11 マニュアル & ドキュメンテーション
$ node -v v0.11.11 $ npm -v 1.3.25
Node.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.js
Server running at http://localhost:3000/
おー表示された。
モジュール管理は、npmでやる。 ビルドツールは、GruntとかGulpとかでやるんだけど、最近はちょっと嫌われているようで、使わないでやるケースも多いらしい。Gulpのがまだ人気あるらしい。
npmでgulpをグローバルインストールする
$ npm install -g gulp
gulp用ディレクトリを作って、そこにgulpをインストールする
$ npm install gulp $ gulp -v [03:12:17] CLI version 3.9.1 [03:12:17] Local version 3.9.1
gulpfile.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:82 throw er; // Unhandled 'error' event
ここにあるコンテンツとドットインストールみたらいいかも。 「Node.jsでサーバサイドJavaScript開発入門」