在 Node JS 中获取 CSS 的问题
Problems getting CSS in Node JS
我正在尝试使用把手将我的 CSS 文件加载到我的 Node JS 应用程序中,但出现错误
Refused to apply style from 'http://localhost:8080/styles/main.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我检查了路径和它的权利。有什么解决办法吗?
在我的 index.js 我有 app.use(express.static('public'))
我的车把 html 我有 <link rel='stylesheet' type="text/css" href='/styles/main.css'>
我的工作区是
-node_modules
-public
--styles
---main.css
-template-engine
--views
---layout
----main.handlebars
这很可能是您调用 app.use(express.static('public'))
的方式造成的。一般来说,最好使用下面的格式。
const path = require("path");
app.use(express.static(path.join(__dirname, "public")));
很遗憾,很难从您提供的信息中猜出问题的确切原因。您可以加载其他外部资源,例如脚本或图像吗?还是您只在 CSS 文件中遇到过这种情况?这可能是因为 express 找不到文件或者您可能需要更改文件权限。此外,这个问题在 Whosebug 和其他网站上至少被问了数百次。你检查过另一个questions了吗?我敢肯定,如果这不能解决您的问题,其中的答案之一将会解决。
最后,我建议你使用express-handlebars而不是handlebars.js。它可能更适合您的需求。并且不要忘记检查 express-handlebars 中的默认文件结构。
我正在尝试使用把手将我的 CSS 文件加载到我的 Node JS 应用程序中,但出现错误
Refused to apply style from 'http://localhost:8080/styles/main.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我检查了路径和它的权利。有什么解决办法吗?
在我的 index.js 我有 app.use(express.static('public'))
我的车把 html 我有 <link rel='stylesheet' type="text/css" href='/styles/main.css'>
我的工作区是
-node_modules
-public
--styles
---main.css
-template-engine
--views
---layout
----main.handlebars
这很可能是您调用 app.use(express.static('public'))
的方式造成的。一般来说,最好使用下面的格式。
const path = require("path");
app.use(express.static(path.join(__dirname, "public")));
很遗憾,很难从您提供的信息中猜出问题的确切原因。您可以加载其他外部资源,例如脚本或图像吗?还是您只在 CSS 文件中遇到过这种情况?这可能是因为 express 找不到文件或者您可能需要更改文件权限。此外,这个问题在 Whosebug 和其他网站上至少被问了数百次。你检查过另一个questions了吗?我敢肯定,如果这不能解决您的问题,其中的答案之一将会解决。
最后,我建议你使用express-handlebars而不是handlebars.js。它可能更适合您的需求。并且不要忘记检查 express-handlebars 中的默认文件结构。