如何在Express的公用文件夹中修复外部CSS的路径?

时间:2019-07-05 21:33:03

标签: node.js typescript express ejs

请帮助我修复加载外部CSS文件的路径。我已经尝试了很多次,但是没有成功。这是我的类别结构:

enter image description here

在header.ejs中,我包含路径:

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

我尝试了很多次,但是没有用

// app.use(express.static(path.join(__dirname + '../../src/web/public/')));
// app.use('*/css',express.static('public/'));
// app.use("/static", express.static(path.resolve(__dirname + "/public/css")));

我不断收到此错误:

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

1 个答案:

答案 0 :(得分:1)

假设在您的app.js文件(位于dist文件夹中)中调用了express.static,而在dist文件夹中包含了public文件夹,则应该可以进行以下操作:

在您的app.ts中:

app.use(express.static('public'))

在您的html / ejs中:

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

如果您打算将公共文件夹保留在src-dir中,而不将其包含在dist包中,则需要调整app.ts文件中的路径:

app.use(express.static(path.join(__dirname, '../../src/web/public')));