gpt4 book ai didi

javascript - Node.js Express 无法获取静态文件并且路由比一个文件夹级别更深

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:13 24 4
gpt4 key购买 nike

在我问这个问题之前是我的 node.js express 应用程序的文件夹结构:

/home
服务器.js
索引.html
/应用程序
/路线
公共(public).js
/民众
/CSS
主.css

这是我在 server.js 中的内容:

// ROUTING FOR STATIC CONTENT
var public_dir = __dirname + '/public';
app.use(express.static(public_dir));

// INITIALIZE ROUTER
var public_router = express.Router();

// IMPORT PUBLIC ROUTES
require('./app/routes/public')(public_router, public_dir);

// REGISTER ROUTES
app.use('/', public_router);

这是我在 /app/routes/public.js 中的内容:

var path = require('path');

module.exports = function(public_router, public_dir) {

public_router.get('/new', function(req, res) {
res.sendFile(path.join(public_dir, 'index.html'));
});

public_router.get('/popular', function(req, res) {
res.sendFile(path.join(public_dir, 'index.html'));
});

public_router.get('/popular/today', function(req, res) {
res.sendFile(path.join(public_dir, 'index.html'));
});
}

index.html 中,我这样调用 css 文件:

<link rel="stylesheet" href="css/main.css">

问题:

当我访问 mydomain.com/newmydomain.com/popular 时,会加载 css 文件并正确呈现页面。但是,当我访问 mydomain.com/popular/today 时,css 文件未正确加载。在 chrome 开发工具中,我看到浏览器正在尝试从不正确的流行文件夹加载 css。

Screenshot from Chrome Developer Tools

如有任何想法或意见,我们将不胜感激。提前致谢!

最佳答案

更改 <link rel="stylesheet" href="css/main.css"><link rel="stylesheet" href="/css/main.css"> .

注意前缀 / .这将使浏览器开始搜索树的根而不是使用相对路径。

关于javascript - Node.js Express 无法获取静态文件并且路由比一个文件夹级别更深,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com