Ошибка публикации publi c папки с E JS и nodeJS - PullRequest
1 голос
/ 07 мая 2020

Я хочу разместить папку publi c с локальным хостом. Я помещаю файл CSS в папку publi c, но когда я захожу на страницу, он не появляется. Я установил все пакеты. Когда я вижу свой локальный хост, единственное, что я мог видеть, - это текст без CSS, и если я просматриваю свои «ресурсы страницы» в моем коде, <link> не отображается.

app. js:

    const express = require("express");
    const bodyParser = require("body-parser");

    const app = express();

    let items = ["Buy food", "Cook Food", "Eat Food"];

    app.set('view engine', 'ejs');


    app.use(bodyParser.urlencoded({extended: true}));
    app.use(express.static('public'));

    app.get("/", function(req, res) {
      let today = new Date();

      let options = {
        weekday: 'long',
        year: 'numeric',
        month: 'long',
        day: 'numeric'
      };



    let day = today.toLocaleDateString("en-US", options);

      res.render("list", {kindOfDay: day, newListItems: items});
    //we have to provide two ellemntes from EJS day and newListItem to post it
    });

    app.post("/", function(req, res){
      let item =  req.body.newItem;
      items.push(item)



       res.redirect("/")


    });



    app.listen(3000, function(){
      console.log("Server started on port 3000.");
    });

list.e js:

    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>To do list</title>
        <link rel="stylesheet" href="css/stylesheet.css">
      </head>
      <body>
        <h1> <%= kindOfDay %> </h1>

        <ul>
          <% for (let i=0; i<newListItems.length; i++) { %>


            <li> <%= newListItems [i] %> </li>
          <!-- //this is to loop the function -->
          <% }  %>
        </ul>
    <form class="" action="/" method="post">

    <input type="text" name="newItem" >

    <button type="submit" name="button">Add</button>

    </form>




      </body>
    </html>

public / css / stylesheet. css

     html {
      background-color: #E4E9FD;
      background-image: -webkit-linear-gradient(65deg, #A683E3 50%, #E4E9FD 50%);
      min-height: 1000px;
      font-family: 'helvetica neue';
    }

    h1 {
      color: #fff;
      padding: 10px;
    }

    .box {
      max-width: 400px;
      margin: 50px auto;
      background: white;
      border-radius: 5px;
      box-shadow: 5px 5px 15px -5px rgba(0, 0, 0, 0.3);
    }

    #heading {
      background-color: #A683E3;
      text-align: center;
    }

    .item {
      min-height: 70px;
      display: flex;
      align-items: center;
      border-bottom: 1px solid #F1F1F1;
    }

    .item:last-child {
      border-bottom: 0;
    }

    input:checked+p {
      text-decoration: line-through;
      text-decoration-color: #A683E3;
    }

    input[type="checkbox"] {
      margin: 20px;
    }

    p {
      margin: 0;
      padding: 20px;
      font-size: 20px;
      font-weight: 200;
      color: #00204a;
    }

    form {
      text-align: center;
      margin-left: 20px;
    }

    button {
      min-height: 50px;
      width: 50px;
      border-radius: 50%;
      border-color: transparent;
      background-color: #A683E3;
      color: #fff;
      font-size: 30px;
      padding-bottom: 6px;
      border-width: 0;
    }

    input[type="text"] {
      text-align: center;
      height: 60px;
      top: 10px;
      border: none;
      background: transparent;
      font-size: 20px;
      font-weight: 200;
      width: 313px;
    }

    input[type="text"]:focus {
      outline: none;
      box-shadow: inset 0 -3px 0 0 #A683E3;
    }

    ::placeholder {
      color: grey;
      opacity: 1;
    }

    footer {
      color: white;
      color: rgba(0, 0, 0, 0.5);
      text-align: center;
    }

1 Ответ

0 голосов
/ 08 мая 2020

Отредактируйте, как вы устанавливаете каталог public в файле сервера. Приведенный ниже код показывает, как вы должны установить папку publi c.

app.use(express.static(__dirname + '/public'));

И в вашем e js измените способ обращения к файлу css. (убедитесь, что внутри папки publi c есть папка css и внутри нее есть таблица стилей. css)

<link rel="stylesheet" href="/css/stylesheet.css" type="text/css">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...