路线在错误的地方查找静态文件

出于某种原因,我有一个特定的path/admins/:id ,它在/public/admins/中查找静态文件,而不是/public/ 。 这会导致404错误,js和css文件不会加载到此页面。 所有其他path在/public/查找静态文件。 自从我开始编写应用程序之后,我从来没有更改过提供静态文件的中间件,因此我不知道错误代码的位置。

例如,当它正在查找/stylesheets/bootstrap.min.css时,它正在查找/admins/stylesheets/bootstrap.min.css

app.js

 var express = require('express'); var stormpath = require('express-stormpath'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); // include routes var mainPage = require('./routes/mainPage'); var admins = require('./routes/admin'); var addAdmin = require('./routes/addAdmin'); var addDev = require('./routes/addDev'); var adminProfile = require('./routes/adminProfile'); var devs = require('./routes/dev'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(favicon(__dirname + '/public/favicon.ico')); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); // routes app.use('/', mainPage); app.use('/api/admins', admins); app.use('/addAdmin', addAdmin); app.use('/addDev', addDev); app.use('/admins', adminProfile); app.use('/api/devs', devs); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); module.exports = app; 

adminProfile.js

 var Admin = require('../models').sequelize.models.Admin; var express = require('express'); var router = express.Router(); router.get('/:id', function(req, res, next) { Admin.findOne({ where: { id: req.params.id, } }) .then(function(admin) { if(!admin) { var err = new Error('Not Found'); err.status = 404; res.render('error', { error: err }); } else res.render('adminProfile', { admin: admin }); }); }); module.exports = router; 

你的<link>标签在HTML中是什么样的? 您可能需要通过在开始处插入/来锚定href属性,如下所示:

 <link type="text/css" href="/stylesheets/bootstrap.min.css" /> 

这将创build一个根相对的URL。 请参阅让链接相对于根?