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()
永远不会触发。
我的应用程序是从 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()
永远不会触发。