Javascript (カレンダー012_Nodeへ移す2)

■カレンダーのjavascriptをNodeへ移すのつづき。

前回、エラーは出ないようになったので、カレンダーの表示がちゃんと出るようさらに試行錯誤した。一応、カレンダーの表示はされるようにはなった(下の図)。下の図は、node index.jsで起動した後、Webブラウザでlocalhost:8888にアクセスしたもの。

requestHandlers.jsの中で、今まで作ってきたcalender0xx.jsの中のプログラムを参照するようにしているが、どうやらその参照方法が適切でなかったよう。下のコードのように、function displayCal()としてカレンダーを表示するプログラムをまとめ、exportsに設定する。その後、requestHandlers.jsの中でexportsしたfunctionを参照しているけど、ここで()があるかないかなどで違ってくるよう(helloWorldは試したときのなごり)。

calender0xx.js

function displayCal(){
...
}

function inputCal(body){
...
}



function helloWorld(){
  console.log("Hello!");
}

function helloWorld2(){

}

exports.sayHello = helloWorld;
exports.sayHello2 = helloWorld2;
exports.displayCal = displayCal;
exports.inputCal = inputCal;

requestHandlers.js

body = '<html>'+
'<head>'+
'<meta charset="utf-8">'+
'<title>Calendar</title>'+
'<link href="calender012.css" rel="stylesheet" type="text/html">'+
'</head>'+
'<body>'+
'<div class="frame-box">'+
'<div class="calendar-box">'+
'<div id="calendar" class="calendar"'+
'<div>'+
cal.displayCal()+
'</div>'+
...

カレンダーのそれぞれの日付に入れる情報の参照先は、クライアント側で使用してきたlocalstorageからMysqlに変わるため、その部分はそれなりに修正が必要そう。今まで情報があれば日付部分を緑にしていたけど、カレンダーを表示させることを優先して、上の図では情報があるかないかの判断をせず、すべての日付を緑としている。情報自体は、Mysqlから持ってこれるので、この方向でcalender0xx.jsの組み込みはできると思う。
しかし、jQueryを使った部分がうまくいっていない。もともとクライアントサイドで作成していた時は(カレンダー006の記事のあたり)、jQueryを使って画面をクリックした際の動作などを入れていた。クライアント側のブラウザでクリックしているから、サーバ側で動いているnodeには伝わらないのか?
それはそれで納得できる気もするけど、何か解決方法があるのではないかと思う。
もう少しnodeでのJQueryの使用について調べてみる。