【发布时间】:2016-07-30 08:48:34
【问题描述】:
我正在使用 MEAN 堆栈开发一个应用程序,但我无法让我的主索引页面获取我的样式表。运行 node server 工作正常,index.html 页面正在呈现,并且没有控制台错误。点击http://localhost:3000/public/css/app.css 会按预期返回 CSS。所以文件在那里并且可以访问,但是样式没有被应用到索引页面。
知道发生了什么吗?
./server.js
var config = require('./server/config/environment');
var express = require('./server/config/express');
var app = express();
app.listen(config.port, function() {
console.log('Server is listening on port %d', config.port);
});
exports = module.exports = app;
./server/config/express.js
var express = require('express');
var path = require('path');
module.exports = function() {
var app = express();
app.set('view engine', 'ejs');
require('../server.routes.js')(app);
app.use("/public/css", express.static(path.resolve('public/css')));
app.get('/public/css/app.css', function(request, response) {
response.sendFile(path.resolve('public/css/app.css'));
});
return app;
};
./server/server.routes.js
module.exports = function(app) {
app.get('/', require('./server.controller').render);
};
./server/server.controller.js
module.exports.render = function(request, response) {
response.render('index');
};
./views/index.ejs
<head>
<base href="/">
<link rel="stylesheet" src="/public/css/app.css">
</head>
./public/css/app.css
body {
margin: 70px 20px 20px 20px;
}
【问题讨论】:
-
您确定您的后端不提供 css 文件吗?试试
background-color:red;.. 你是否在浏览器的 JS 控制台中看到错误? -
将您的
require('../server.routes.js')(app);移动到静态文件处理程序下方。 -
尝试将背景颜色设置为红色——没有变化。我还尝试移动 require('../server.routes.js')(app);在静态文件处理程序下方,也没有运气(重新启动节点服务器后)。
标签: javascript html css node.js express