Express js不提供静态文件

时间:2016-07-22 11:46:52

标签: node.js express

我已经安装了这样的路径

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目录位于我的工作目录中的公共文件夹下。

那么问题是什么?我做错了什么?

2 个答案:

答案 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"

希望它有所帮助。

相关问题