我已经安装了这样的路径
var path = require('path');
var express = require('express');
var app = express();
var admin = express();
admin.use(express.static(path.join(__dirname, 'public/')));
// mount admin path
app.use('/admin', admin);
然后我定义了一些路线,例如
admin.get('/jobs', function(req, res){
res.render('jobs/index');
});
admin.get('/jobs/create', function(req, res){
res.render('jobs/create');
});
在第一个路由中,js,css,images
等静态文件加载了w / o问题。
但在第二个中它不加载文件。
在像这样的视图中加载的文件
<link rel="stylesheet" href="styles/css/main.css">
注意:styles目录位于我的工作目录中的公共文件夹下。
那么问题是什么?我做错了什么?
答案 0 :(得分:3)
静态中间件已添加到admin
express实例中,该实例安装在app
路径的主/admin
中。这意味着永远不会为匹配/admin
的路由调用路由。将中间件移动到主应用实例,
app.use(express.static(path.join(__dirname, 'public')))
答案 1 :(得分:0)
首先:app.use(express.static(path.join(__dirname, 'public')));
然后href="/styles/css/main.css"
?
希望它有所帮助。