前提・実現したいこと
node.js(Express)で簡単な掲示板を作っています。 ※「Node.js 超入門 第二版-秀和システム」の第3章を参考にしています。
ejs、app.jsを作成後、サーバーを起動しましたがブラウザが白紙で表示されてしまいます。
コンソール上にエラーも出ていないので、はっきりとした原因がわかりません。
node.jsは全くの初心者な為、資料が不足しているかと思いますが
何かヒントなどを頂けたら嬉しいです・・・。
発生している問題・エラーメッセージ
エラーメッセージ エラーメッセージ:無 ### 該当のソースコード [app.js ↓] const http = require('http'); const fs = require('fs'); const ejs = require('ejs'); const url = require('url'); const qs = require('querystring'); const index_page = fs.readFileSync('./index.ejs', 'utf8'); const login_page = fs.readFileSync('./login.ejs', 'utf8'); const max_num = 10; const filename = 'mydata.txt'; var message_data; //データ? readFromFile(filename); var server = http.createServer(getFromClient); server.listen(3000); console.log('Server start!'); // ここまでメインプログラム ============= // createServerの処理 function getFromClient(request, response) { var url_parts = url.parse(request.url, true); switch (url_parts.pathname) { case '/': //トップページ response_index(request, response); break; case '/login': //ログインページ response_login(request, response); break; default: response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('no_page...'); break; } } //loginのアクセス処理 function response_login(request, response){ var content = ejs.render(login_page, {}); response.writeHead(200, {'Content-Type': 'text/html'}); response.write(content); response.end(); } //indexのアクセス function response_index(request, response){ //POSTアクセス時 if(request.method == 'POST'){ var body =''; //データ受信時の処理 request.on('data', function (data) { body +=data; }); //データ受信終了時の処理 request.on('end', function() { data = qs.parse(body); addToData(data.id, data.msg, filename, request); write_index(request, response); }); } else { write_index(request, response); } } //indexのページ作成 function write_index(request, response) { var msg = "何かメッセージを書いてください"; var content = ejs.render(index_page, { title: 'Index', content: msg, data: message_data, filename: 'data_item', }); response.writeHead(200, {'Content-Type': 'text/html'}); response.write(content); response.end(); } //テキストファイルをロード function readFromFile(filename) { fs.readFile(filename, 'utf8', (err, data) => { message_data = data.split('\n'); }) } //データを更新 function addToData(id, meg, filename, request) { var obj = {'id':id, "msg":msg }; var obj_str = JSON.stringify(obj); console.log('add data: ' + obj_str); message_data.unshift(obj_str); if(message_data.length > max_num){ message_data.pop(); } saveToFile(filename); } //データを保存 function saveToFile(filename) { var data_str = message_data.join('\n'); fs.writeFile(filename, data_str, (err) => { if (err) {throw err; } }); } ### 試したこと ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー