トップページ > コンテンツ > プログラミング入門 > Ajax入門 > JavaScript入門 > node.js

node.jsの導入


node.jsの開始と終了

開始: node xxxx.js
終了: Ctrl+C

node.jsを使ったjsファイルの書き方

典型的なhello worldは以下のように書ける。

var ip = "ホスト名"; //localhost等を指定。
var port = ポート番号; //既に使用していないポート番号を指定(コンソール等で一度立ち上げ、サーバプロセスが残っている場合にはプロセスをkillする。
                       //既に使用しているポート番号を指定した場合は、Error: listen EADDRINUSEが出るので注意。
var http = require('http');
var server = http.createServer(); //ここで.listenとしても良い。

server.on("request", function (request, response) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.write('Hello World.\n');
    response.end();
});

server.listen(port,ip);

node.jsを使ったPOST,GET

参考サイトを見ながら、jadeを使わずにやってみた。
やり方としては間違っている気がする。。。

1.事前準備
npm install express
npm install body-parser

2.node.jsを使い、画面遷移を実現。
/*遷移元.html*/
<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<script type="text/javascript;" src="serverTest.js"></script>
</head>
<body>
<form method="post" action="http://localhost:適当なポート番号/適当なアクション">
   <textarea name="hoge">testです。</textarea><br>
   <input type="submit" value="送信">
</form>
</body>
</html>

/*serverTest.js*/
var http = require('http');
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var fs = require('fs');
app.use(bodyParser.urlencoded({extended:true}));
app.post('/myaction',function(request,response) {
   fs.readFile('./遷移先.html','UTF-8', function(err,data) {
      response.writeHead(200,{'Content-Type':'text/html'});
      
      //formから受け取ったものはrequest.bodyに入るので、
      //@@title@@を置換
      response.end(data.replace(/@@title@@/g,request.body.hoge)); 
   });
});
app.listen(適当なポート番号, function() {
   console.log('server is running');
});

/*遷移先.html*/
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>@@title@@</title>
</head>
<body>
フォームの入力データに従い、タイトル変更テスト。
</body>
</html>

その他

  • Webアプリケーションフレームワークとして有名なものにexpress.js等がある。
  • HTMLテンプレートエンジンとしてJade等を使うとHTMLの一部を動的に変更できたりする。

最終更新:2015年03月31日 18:47