我创建了基本节点/快速服务器
var express = require('express');
var app = express();
var path = require('path')
var port = 8080;
app.use("/styles", express.static('../public/styles'));
app.get('/' , function( req , res ){
console.log(__dirname)
res.sendFile(path.join(__dirname,'../public/html/index.html'))
})
app.listen(port)
项目结构简单
app
public
html
index.html
styles
javascripts
routes
server.js
html文件看起来很简单
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../styles/index.css">
<title> Hello world!</title>
</head>
<body>
</body>
</html>
但仍然抱怨
获取http://localhost:8080/index.css 404(未找到)
然而我的路径应该是正确的,我查找了这个问题,每个答案都是关于使用
app.use("/styles", express.static('../public/styles'));
所以浏览器在查找样式表时知道如何重定向。哪个对我不起作用。
有人可以帮助解决这个常见问题吗? 谢谢!
答案 0 :(得分:0)
不清楚您的项目结构是什么。在项目目录中app.js
包含基本快速服务器更常见,如果您有复杂的路由,请在routes/server.js
所以你可以改变你的项目结构:
app.js (main file)
public
index.html
styles
index.css
javascripts
routes
server.js --not needed?
如果是这种情况,请将app.js更改为:
var express = require('express');
var app = express();
var port = 8080;
//use static folder public to serve everything up
app.use(express.static('./public/'));
app.listen(port)
在index.html
中,加入index.css
:
<link rel="stylesheet" href="/styles/index.css" >