我是一个完整的 node.js 新手,正在努力学习基础知识。我有一个 html 文件,我想在本地主机环境中使用 node.js 在 html 页面中调用外部 javascript 文件。
问问题
9805 次
3 回答
1
您的主文件应检查请求的 url 是否要求 html 或 js 或 css 文件。
var server = http.createServer(function(request, response) {
console.log("Received Request: " + request.url);
if(request.url.indexOf('.html') != -1) {
fs.readFile("game" + request.url, function (error, data) {
if (error) {
response.writeHead(404, {"COntent-type":"text/plain"});
response.end("No Html Page Found.");
} else{
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data);
response.end();
}
});
}
else if(request.url.indexOf('.js') != -1) {
fs.readFile("game" + request.url, function (error, data) {
if (error) {
response.writeHead(404, {"COntent-type":"text/plain"});
response.end("No Javascript Page Found.");
} else{
response.writeHead(200, {'Content-Type': 'text/javascript'});
response.write(data);
response.end();
}
});
}
else if(request.url.indexOf('.css') != -1) {
fs.readFile("game" + request.url, function (error, data) {
if (error) {
response.writeHead(404, {"COntent-type":"text/plain"});
response.end("No Css Page Found.");
} else{
response.writeHead(200, {'Content-Type': 'text/css'});
response.write(data);
response.end();
}
});
}
else {
console.log("Inside the inside else statement");
response.writeHead(404, {"COntent-type":"text/plain"});
response.end("No Page Found");
}
});
之后,您可以在 html 文件中包含外部 javascript 和 css 文件。
于 2014-08-04T08:26:07.937 回答
0
我想我已经理解你真正的兴趣了。
<script src="script.js"></script>
如果你试图让一个脚本标签(如上面的那个)在你的 html 上工作,你应该在你的 Node.js http.createServer 回调中编写一个“路由器”。当浏览器找到脚本标签时,它会向服务器发送一个特定的请求,然后您可以将 javascript 代码发送回响应中。
我在这里写了一个类似问题的方法:How to include javascript on client side of node.js? .
于 2014-02-18T22:36:27.267 回答
0
您只需将脚本标签添加到 html 中:
<script type="text/javascript" href="/path/to/src.js"></script>
于 2013-11-12T10:37:44.023 回答