我最近开始学习node.js,但遇到了问题。我使用express访问我的公共文件,除CSS文件外,其他所有东西都可以正常工作。我对该主题进行了一些研究,并使用了我发现的所有东西,但是没有用。
我的文件夹结构
app.js pub index.html style.css
This is my html:
<!DOCTYPE html>
<html >
<head>
<title> Curriculum Vitae </title>
<meta charset="UTF-8">
<link rel="stylesheet" href="style.css"/>
</head>
<body>
...
</body>
</html>
和我的app.js文件:
var http = require('http');
var url = require('url');
var fs = require('fs');
var express = require('express')
var app = express();
var path = require('path');
app.use(express.static(path.join('pub', 'public')));
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
var filename = "." + q.pathname;
fs.readFile(filename, function(err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);
最佳答案
我认为您的问题在这条线上:
app.use(express.static(path.join('pub', 'public')));
您将“ / pub / public”设置为公用文件夹,只需要设置“ / pub”
你可以尝试这样的事情吗?
app.use(express.static(__dirname + '/pub'));
希望能帮助到你。