node.js - 如何修复Express中公共(public)文件夹中外部CSS的路径?

标签 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 检查。

最佳答案

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

在你的app.ts中:

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

在你的 html/ejs 中:

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

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

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

关于node.js - 如何修复Express中公共(public)文件夹中外部CSS的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56909457/

相关文章:

google-maps - ionic 2 打开谷歌地图,包含 2 个位置的方向

node.js - 使用没有子域的 Nginx 设置多个 Node 服务器

javascript - MeteorJS + npm : Cannot find module 'node-xmpp'

node.js - 在 Nodejs 中使用 jimp 包裁剪 base64 格式图像时出错

node.js - 具有内容长度限制的签名 URL

lambda - 如何在函数中定义 lambda 函数?

android - PhoneGap - 构建 phonegap android 应用程序会在 Linux 上产生编译错误

typescript - typescript 中连续数字 d3.scaleLinear() 比例尺的类型是什么

node.js - 如何在主 Handlebars 布局中编写快速 session 登录/注销的条件?

javascript - express JS - 无法从其他外部服务器接收 GET 响应到我的 View