我正在学习Node.js和Express(版本4.11)。目前,我正在尝试创建一个使用样式表的基本Web应用程序。为了做到这一点,我有以下HTML:
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="Description">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/public/fonts/icomoon.css" />
<link rel="stylesheet" type="text/css" href="/public/css/style.css" />
</head>
<body>
<h1 class="title">Test</h1>
</body>
</html>
加载此HTML后,我的icomoon.css文件和style.css文件出现404错误。我感到很困惑,因为我已经跟踪了SO上的其他类似帖子。我的server.js文件如下所示:
var express = require('express'); // routing-engne
var expressHbs = require('express-handlebars'); // view-engine
// Setup the app to use Handlebars as the view engine
var app = express();
app.engine('hbs', expressHbs({extname:'hbs', defaultLayout:'layout.hbs'}));
app.set('view engine', 'hbs');
// Add support for static files (css, fonts, images, etc.)
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res) {
var viewModel = {};
res.render('/index', viewModel);
});
// Start the app on port 3000
app.listen(3000);
console.log('Ready!');
我认为写为app.use(express.static ...
的行会提供我的静态文件。但事实并非如此。我如何提供我的.css文件?
谢谢!
答案 0 :(得分:2)
使用此:
app.use('/public', express.static(__dirname + '/public'));