为什么本地.css文件和.js文件没有链接到index.html文件?

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)

基本上,我们读取静态文件并根据请求发回.请注意,您必须注意路由您的请求.