【发布时间】:2021-12-15 10:03:19
【问题描述】:
当我转到 localhost:3000 时,我的 css 可以工作,但是当我转到 localhost:3000/r/test 时,我的 css 不工作,我收到以下消息:
Refused to apply style from 'http://localhost:3000/r/styles.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
只要我有一条路径比一个子路径长的路径(我不确定这是否是正确的术语),我的 css 根本不起作用。例如,这些路线会起作用:
app.get('/', (req, res) => {
...
)
app.get('/cats', (req, res) => {
...
)
app.get('/dogs', (req, res) => {
...
)
但这些都行不通:
app.get('/cats/test', (req, res) => {
...
)
app.get('/dogs/blah', (req, res) => {
...
)
app.get('/hamster/foo', (req, res) => {
...
)
我的 index.js 文件:
const express = require('express');
const path = require('path');
const axios = require('axios');
const app = express();
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname + '/views'));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', (req, res) => {
res.render('home');
});
app.get('/r/test', (req, res) => {
res.render('test');
});
app.listen(3000, () => {
console.log(`Listening at http://localhost:3000`);
});
我的 test.ejs 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Test</title>
</head>
<body>
<h1>Hi<h1>
</body>
</html>
我的项目结构是:
Project
|
+-- public
| |
| +--styles.css
|
+-- views
| |
| +-- home.ejs
| +-- test.ejs
|
+--index.js
【问题讨论】:
标签: javascript html css node.js express