Node.js サーãƒãƒ¼ã‚ªãƒ–ジェクト
目次
htmlæ–‡å—列生æˆ
httpモジュールをload
const http = require('http');
サーãƒãƒ¼ã‚ªãƒ–ジェクト作æˆ
var server = http.createServer(
  (request, response) => {
    response.setHeader('Content-Type', 'text/html');
    response.setHeader('charset', 'utf-8');
    let html = '';
    html += '<html>';
    html += '<body>';
    html += 'Welocom to Node.js';
    html += '</body>';
    html += '</html>';
    response.write(html);
    response.end();
  }
);
サーãƒãƒ¼ã‚ªãƒ–ジェクトを待ã¡å—ã‘状態ã«
server.listen(3000);
htmlファイル使用
const http = require('http');
const fs = require('fs');
var server = http.createServer(
  (request, response) => {
    fs.readFile('./index.html', 'UTF-8',
      (error, data) => {
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.write(data);
        response.end();
      }
    );
  }
);
server.listen(3000);
テンプレートエンジン使用
EJS
EJSインストール
npm install ejs
クライアント
※index.ejs
<!DOCTYPE html>
<html lang="ja">
<head>
  ~
</head>
<body>
  <p><%=title%></p>
  <%=message%>
</body>
</html>
サーãƒãƒ¼
const http = require('http');
const fs = require('fs');
const ejs = require('ejs');
var server = http.createServer(setResponse);
server.listen(3000);
function setResponse(request, response){
  テンプレートファイルèªè¾¼
  const page = fs.readFileSync('./index.ejs', 'utf8');
  レンダリング
  let content = ejs.render(page, {
    title: 'Node.js',
    message: 'Node.js',
  });
  
ã€€ã€€ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°çµæžœã‚’出力
  response.write(content);
  response.end();
}
パーシャル
クライアント
※partial.ejs
<tr>
 <th><%=id%></th>
 <td><%=key%></td>
 <td><%=val[0]%></td>
</tr>
※index.ejs
<!DOCTYPE html>
<html lang="ja">
<body>
 <p><%=message%></p>
 <table>
  <% let id=0; %>
  <% for(let key in data){ %>
   パーシャルファイルをload
   <%- include('partial', {id:++id, key:key, val:[data[key]]}) %>
  <% } %>
 </table>
</body>
</html>
サーãƒãƒ¼
var server = http.createServer(setResponse);
server.listen(3000);
function setResponse(request, response){
 const data = {
  'JavaScript': 'Node.js',
  'PHP': 'Laravel',
  'Java': 'SpringBoot',
 }
 const page = fs.readFileSync('./index.ejs', 'utf8');
 let content = ejs.render(page, {
  message: 'POST',
  data: data,
  filename: 'partial',
 });
 response.write(content);
 response.end();
}