Express static 不会从 root 加载 CSS 文件

Express static won't load CSS files from root

我的应用程序是从 url 加载的,例如:server.com/pdf/12345。当它寻找静态文件时,它会尝试 GET /pdf/12345/assets/css/stylesheet.css 和 404s。我不知道如何告诉它在根目录中寻找 /public/assets 。尝试了多种不同的 express.static 配置。

我的目录结构是这样的:

public
--assets
----css
views
--partials
----header.ejs
routes
--api.js
server.js

server.js 看起来像这样(为了清楚起见减去了要求):

app.use('/', routes);
app.set('views', './views');
app.set('view engine', 'ejs');

app.use('/public', express.static(path.join(__dirname, 'public')));
http.createServer(app).listen(port, function() {
})

我的 partials/header.ejs 包含 link 到样式表

你应该这样写:

app.use(express.static(path.join(__dirname, 'public')));

如果您以 app.use('/public' 开头,您是在告诉 express 仅将函数挂载在路径 /public 上,在您的情况下,我猜 url 是否以 [=13= 开头].但由于情况并非如此,express.static() 永远不会触发。