Wenn Skripte von meinem Node.js Server an den Browser, in Google Chrome zu senden, erhalte ich diese Warnung:Wie stelle ich einen MIME-Typ ein, bevor ich eine Datei in Node.js sende?
Ressource als Script interpretiert, sondern mit MIME-Typ text/plain
I übertragen Google hat herumgeklettert und herausgefunden, dass es ein serverseitiges Problem ist, nämlich dass ich denke, dass ich den richtigen MIME-Typ festlegen sollte, bevor ich sie sende. Hier ist der Handler-HTTP-Server:
var handler = function(req, res)
{
url = convertURL(req.url); //I implemented "virtual directories", ignore this.
if (okURL(url)) //If it isn't forbidden (e.g. forbidden/passwd.txt)
{
fs.readFile (url, function(err, data)
{
if (err)
{
res.writeHead(404);
return res.end("File not found.");
}
//I think that I need something here.
res.writeHead(200);
res.end(data);
});
}
else //The user is requesting an out-of-bounds file.
{
res.writeHead(403);
return res.end("Forbidden.");
}
}
Frage: Wie korrigiere ich meinen serverseitigen Code den MIME-Typen korrekt zu konfigurieren?
(Anmerkung: Ich fand schon https://github.com/broofa/node-mime, aber es lässt mich nur den MIME-Typ bestimmen, nicht auf "Set" es.)
Ja, reiner Knoten, kein Express. – corazza
OK, das einzige fehlende Teil ist, dass Sie den MIME-Typ von Skripten herausfinden, den Sie für jede Antwort in den richtigen Header einfügen. – rdrey
Fertig, siehe meine Antwort. :) – corazza