0x9*_*x90 2 javascript css node.js
我正在使用node.js并尝试发送.html文件包含这些标记:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="This is my personal profile website" />
<link rel="stylesheet" type="text/css" href="profile_design.css" />
<link rel="stylesheet" href="jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript" src="profile.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是node.js中的HTTP服务器:
var fs = require('fs');
var http = require ('http');
http.createServer(function (request, response) {
console.log('request starting...');
fs.readFile('C:/Users/.../index.html', function(error, content) {
if (error) {
response.writeHead(500);
response.end();
} else {
//response.writeHead(200, { 'Content-Type': 'text/html' });
response.end(content, 'utf-8');
}
console.log(error);
});
}).listen(8080);
Run Code Online (Sandbox Code Playgroud)
问题是index.html文件以良好的方式返回,但所有JavaScript文件和CSS都没有正确发送到客户端.问题是如何发送那些.js和.css文件?
小智 5
我遇到了同样的问题,但在我了解幕后发生的事情之前,我不想使用任何外部模块或框架.所以,这就是我为自己解决CSS文件问题的方法.希望它对某人有用.
每当我有一个请求时,/style.css我都会调用这个简单的函数:
function style(response) {
console.log("Request handler 'style' was called.");
fs.readFile("style.css", function(error, file) {
if(error) {
response.writeHead(500, {"Content-Type": "text/plain"});
response.write(error + "\n");
response.end();
} else {
response.writeHead(200, {"Content-Type": "text/css"});
response.write(file);
response.end();
}
});
}
Run Code Online (Sandbox Code Playgroud)
基本上,我们读取静态文件并根据请求发回.请注意,您必须注意路由您的请求.