jquery ファイルまたはそれに関するファイルを node.js 読み取り html ファイルにロードするのに問題があります。私はこれにかなりの時間を費やし、Web ベースの Google がホストするライブラリ ファイルは正常に機能することに気付きましたが、ローカル ファイルは機能しません。理由がわかりません。おそらく、正しいディレクトリに向けていないのでしょうが、どこに置くか、または向けるかはわかりません。
ディレクトリにはこれら 3 つのファイルが含まれます
index.html
jquery.min.js
loadfile.js
index.html コメントアウトされた Google がホストする jquery ファイルは問題なく動作します。しかし、地元はそうではありません。
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="jquery.min.js"></script>
<!-- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> -->
<script type="text/javascript">
$(document).ready(function() {
alert("test");
});
</script>
</head>
<body>
Hi!
</body>
</html>
ノードでロードするファイルは次のとおりです。loadfile.js
var http = require('http');
var url = require('url');
var fs = require('fs');
server = http.createServer(function (request, response) {
current_url = url.parse(request.url).pathname;
file_path = __dirname + current_url;
var tmp = file_path.lastIndexOf('.');
var ext = file_path.substring(tmp + 1);
console.log(ext);
if(ext == 'js')
response.writeHead(200, {'Content-type': 'text/javascript'});
else if(ext == 'css')
response.writeHead(200, {'Content-type': 'text/css'});
else
response.writeHead(200, {'Content-type': 'text/html'});
if(current_url == '/') {
fs.readFile('index.html', 'utf8', function (errors, contents) {
response.end(contents);
});
} else {
response.end();
}
});
server.listen(8000);
console.log("Running in localhost at port 8000");
このエラー Uncaught ReferenceError: $ is not defined on the $(document).ready 行が表示されます。jquery をロードしたとは思えないためです。
どんな助けでも大歓迎です。Google でホストされているファイルをいつでも使用できますが、これはうまくいきません。前もって感謝します!