есть ли причина, по которой я не могу получить свои страницы - PullRequest
3 голосов
/ 10 апреля 2019

Я разрабатываю блог для изучения узлов и javascript, и у меня возникла проблема.Я не могу получить свои страницы, и я не знаю почему.Может кто-нибудь привести меня или дать мне объяснение этой проблемы, спасибо.Я поместил мой index.js и мой package.json ниже.Как вы можете видеть, я установил nodemon и bootstrap и делаю все это в cmd.

index.js

 const path = require('path');
 const expressEdge = require('express-edge');
 const express = require('express');

 const app = new express();

 app.use(express.static('public'));
 app.use(expressEdge);
 app.set('views', __dirname + '/views');

 app.get('/', (req, res) => {
     res.sendFile(path.resolve(__dirname, './pages/index.html'));

 });

 app.get('/about', (req, res) => {
    res.sendFile(path.resolve(__dirname, './pages/about.html'));
 });

app.get('/contact', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'pages/contact.html'));
 });

app.get('/post', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'pages/post.html'));
 });

app.listen(3000, () => {
    console.log('App listening on port 3000')
});

.JSON

{
"name": "projet3web",
"version": "1.0.0",
"description": "Create a blog",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"},
 "keywords": [
  "blog"],
 "author": "Kym lusinchi Vincent Blanc El Hachemi Sabi",
 "license": "ISC",
 "dependencies": {
 "bootstrap": "^4.3.1",
 "bootstrap-datepicker": "^1.8.0",
 "express": "^4.16.4",
 "express-edge": "^1.0.0",
 "nodemon": "^1.18.11",
 "popper.js": "^1.15.0",
 "startbootstrap-clean-blog": "file:startbootstrap-clean-blog",
 "tooltip.js": "^1.3.1"
 }
}

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

проверьте правильность вашего маршрута в res.send.я не думаю, что вам нужен .html

я не знаю, как выглядит ваше файловое дерево, но если оно стандартное, вам не понадобится точка в начале пути

в любом случае, я думаю, вам следуетиспользуйте res.render ('/');

0 голосов
/ 11 апреля 2019

Когда вы делаете app.use(express.static('public')), вы обслуживаете все файлы в папке public как static файлы.

Предполагая (из вашего кода), что ваша структура папок

.
+-- index.js
+-- public
|   +-- pages
|   |   +-- index.html
|   |   +-- about.html
|   |   ...

К файлам в вашей папке pages можно получить доступ как: localhost:3000/pages/index.html

Кроме того, вы не определили путь /index.html, экспресс отображает ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...