Wenn ich die HTML-Seite über den Node-Server starte (d. H. Im Browser zu localhost: 3000 navigiere), wird nichts auf die Konsole gedruckt, wie ich aufgrund der Javascript-Datei der Seite erwarten würde (siehe unten). Wenn ich die HTML-Datei jedoch direkt aus dem Ordner öffne, wird "Hi" wie erwartet auf die Konsole gedruckt.Warum funktioniert meine Seite nicht, wenn ich meinen HTML-Code über einen Knotenserver diene?
Hier ist der Knoten Server Javascript:
var http = require('http');
var fs = require('fs');
fs.readFile('./index.html', function(err, html) {
if (err) {
throw err;
}
http.createServer(function (request, response) {
response.statusCode = 200;
response.setHeader('Content-Type', 'text/html');
response.write(html);
response.end();
}).listen(3000);
console.log('Server is running!!');
})
Hier ist die Seite HTML:
<!DOCTYPE html>
<html>
<head></head>
<body>
<script type="text/javascript" src="jquery-1.12.1.js"></script>
<script type="text/javascript" src="page.js"></script>
</body>
</html>
Hier ist die Seite Javascript:
$(document).ready(function() {
console.log("Hi")
});
Wie wird page.js geladen? Überprüfen Sie Ihre Netzwerkregisterkarte Ihres Browsers. Es wird wahrscheinlich nicht geladen. Sie haben keine Route für statische Assets oder speziell für die page.js, richtig? – Cymen
Die Netzwerkkarte (Firefox) sagt, dass sie mit einem Status von 200 geladen wird. Nicht sicher, was Sie mit "Route für statische Assets" meinen, aber page.js ist über das Tag ' – user212514