これはちょっと止まっていますが、これはnode.jsのファイルのリンクを誤解しているためです。local.js関数をnode.jsにインポートする
Iは、以下の構造を有する:
./main_test.html
./js_test.js
./node_test.js
main_test.html
である:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<p id="p1">
</p>
</body>
</html>
js_testはID p1
と<p>
タグにテキストを印刷する機能を備えており、これである:
module.exports.print_to_p = function(){
$("#p1").text('This worked.');
};
私のノードスクリプトは、main_test.html
とjs_test.js
から機能を実行します。
var http = require('http'),
fs = require('fs'),
$ = require('jQuery'),
port = 1337,
dep1 = require('./js_test.js');
dep1.print_to_p();
var app = http.createServer(function(request, response) {
fs.readFile("main_test.html", function(error, data) {
if (error) console.log(error);
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.write(data);
response.end();
});
}).listen(port);
それは私がjQueryのを参照するが、document.getElementById('p1').innerHTML = 'This worked';
にこれを変更しないことによるものであったと仮定ReferenceError: $ is not defined
がこれを解決していないと言います。
ノードアプリケーションでJavascript/JQueryを実行するにはどうすればよいですか?