EJS 未加载 CSS 文件

ejs is not loading css file

提问人:linttivaa 提问时间:11/17/2023 更新时间:11/17/2023 访问量:35

问:

正如标题所说,我的 layout.ejs 文件没有加载 style.css 文件。我现在已经注定了几个小时,却没有找到答案。我尝试了很多东西,检查了 100 次所有的拼写。检查网络选项卡时,css 文件的路径似乎是正确的,但它给出了 404 错误。这些文件位于 root/public/style/style.css 和 root/views/layout.ejs 中

布局.ejs

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

main.js

"use strict";

const express = require("express"),
    app = express(),
    router = express.Router(),
    mongoose = require("mongoose"),
    layouts = require("express-ejs-layouts"),
    errorController = require("./controllers/errorController"),
    homeController = require("./controllers/homeController"),
    path = require('path');   


//setting the port and the view engine as .ejs files
app.set("port", process.env.PORT || 3001);
app.set("view engine", "ejs"); 


router.use(express.static(path.join(__dirname, "public")));
router.use(layouts);

router.use(
    express.urlencoded({
        extended: false
        })
    );
router.use(express.json());
  
// using the homecontroller
router.use(homeController.logRequestPaths);
app.get("/", homeController.index);

// Using the error controller
app.use(errorController.ResourceNotFound404);
app.use(errorController.internalError500);

app.use("/", router);

app.listen(app.get("port"), () => {
    console.log(`Server running at http://localhost:${app.get("port")}`)
});

发送帮助!

尝试了layout.ejs文件中不同版本的路径和不同的代码片段,以在express中需要静态文件。

CSS 节点 .js 表示 EJS

评论


答:

0赞 jQueeny 11/17/2023 #1

你能改变吗:

router.use(express.static(path.join(__dirname, "public")));

app.use(express.static(path.join(__dirname, "/public")));

评论

0赞 linttivaa 11/20/2023
感谢您的回复,但我也尝试过。