■やりたいこと
node.jsで読み込んだhtmlファイルのhead内に記述されているjsやcssファイルのリンクが正常に動作するようにしたい。
※node.jsは3日前から触り始めました。
※javascriptはif文やfor文などの条件分岐やループが理解できる程度です。
■現状
外部ファイルのリンクにアクセスすると、server.jsに記載した「./public_html/hello.html」が表示される
■やったこと
Googleで検索しましたが、出てくるのはjsの記述を外部化して切り離した時の対処方法がほとんどで、
読み込んだHTMLファイルに書かれている外部ファイルのリンクを読み込む方法を見つけれませんでした。
以下ソースになります。
宜しくお願い致します。
■server.js
var http = require('http'); //httpモジュールの読み込み var fs = require('fs'); //ファイル読み込み用モジュールの読み込み var settings = require('./settings.js'); //IPとポート設定をしたファイルを読み込み var server = http.createServer(); //httpモジュールを読み込みcreateSaverする事でサーバーを作成 console.log(settings); server.on('request', function(req, res){ //req(リクエストオブジェクト) res(レスポンスオブジェクト) fs.readFile('./public_html/hello.html', 'utf-8', function(err, data){ if(err) { //エラーだったら res.writeHead(404, {'Content-Type': 'text/plain'}); //404エラーを返す res.write('not found!'); //not foundと表示 return res.end(); //ここで処理を止める } res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); }) }); server.listen(settings.port, settings.host); console.log('server listening ....');
■settings.js
exports.port =ポート番号; exports.host = 'ip';
■HTMLファイル
<!DOCTYPE html> <html> <head> <title>My first Chartist Tests</title> <link rel="stylesheet" href="./js/chartist/chartist.css"> </head> <body> <p class="ct-chart-title">charist.js<br>*SVG PATH ANIMATION*</p> </body> </html>
■CSS
.ct-chart-title { color: #f00; }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。