如何通过express.static将静态CSS添加到Node JS应用

时间:2019-01-13 07:11:11

标签: javascript node.js

我有一个带有静态CSS文件的node.js应用。当我创建一个中间件并调用css文件时,它会产生如下错误:

拒绝应用“ http://localhost:3000/files/style.css”中的样式,因为它的MIME类型(“ text / html”)不是受支持的样式表MIME类型,并且启用了严格的MIME检查。

这是我的app.js文件

var express = require ('express');

var app = express();

app.set('view engine', 'ejs');
app.use('/files', express.static('/files'));

app.get('/', function(req, res){
    res.render('index');
});

app.listen(3000);

index.ejs

<!DOCTYPE html>
<html>
<head>
    <title>New page</title>
    <link rel="stylesheet" type="text/css" href="files/style.css">
</head>
<body>
    <p>New style</p>
</body>
</html>

当我使用URL时:http://localhost:3000/files/style.css

显示“ 无法获取/files/style.css ”,并且在控制台的“网络”选项卡中签入时,显示找不到styles.css。当我也添加静态javascript文件时,就会发生这种情况。

我也尝试了以下方法

app.use('/files', express.static(__dirname + '/files'));
app.use(express.static(__dirname + '/files'));
app.use(express.static('files'));

到目前为止,它们都没有起作用。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您尝试从files/files/files/style.css获取文件

请尝试以下代码:

NodeJ:

app.use(express.static(path.join(__dirname, 'files')));

HTML:

<link rel="stylesheet" type="text/css" href="/style.css">