Express-Edge Template Engine ищет неправильный URL - PullRequest
0 голосов
/ 19 декабря 2018

Я думаю, что что-то не так с моей app.set('views', ${__dirname}/views) конфигурацией, потому что она ищет /firstRoute/css, когда я запрашиваю URL с firstRoute/someRoute недавно.Кроме того, все работает только с отдельными маршрутами, такими как / или /someRoute и т. Д.

'http://localhost:4000/posts/vendor/bootstrap/css/bootstrap.min.css' 

вместо:

'http://localhost:4000/vendor/bootstrap/css/bootstrap.min.css'

, и это мой файл index.js:

    const path = require('path');
const expressEdge = require("express-edge");
const express = require("express");
const edge = require("edge.js");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const fileUpload = require("express-fileupload");
const expressSession = require('express-session');
const connectMongo = require('connect-mongo');
const connectFlash = require("connect-flash");

const createPostController = require('./controllers/createPost');
const homePageController = require('./controllers/homePage');
const storePostController = require('./controllers/storePost');
const getPostController = require('./controllers/getPost');
const createUserController = require("./controllers/createUser");
const storeUserController = require('./controllers/storeUser');
const logoutController = require("./controllers/logout");

const loginController = require("./controllers/login");
const loginUserController = require('./controllers/loginUser');


const app = new express();
app.use(express.static("public"));
app.use(expressEdge);
app.set('views', `${__dirname}/views`);


mongoose.connect('mongodb://localhost:27017/aomerk', { 
    useCreateIndex : true,
    useNewUrlParser: true })
    .then(() => 'You are now connected to Mongo!')
    .catch(err => console.error('Something went wrong', err));

app.use(connectFlash());

const mongoStore = connectMongo(expressSession);

app.use(expressSession({
    secret: 'secret',
    saveUninitialized : true,
    store: new mongoStore({
        mongooseConnection: mongoose.connection
    })
}));
app.use('*', (req, res, next) => {
    edge.global('auth', req.session.userId)
    next()
});
app.use(fileUpload());


app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));


const storePost = require('./middleware/storePost');
const auth = require("./middleware/auth");
const redirectIfAuthenticated = require('./middleware/redirectIfAuthenticated')


app.get("/", homePageController);
app.get("/post/:id", getPostController);
app.get("/posts/new", auth, createPostController);
app.post("/posts/store", auth, storePost, storePostController);
app.get("/auth/login", redirectIfAuthenticated, loginController);
app.post("/users/login", redirectIfAuthenticated, loginUserController);
app.get("/auth/register", redirectIfAuthenticated, createUserController);
app.post("/users/register", redirectIfAuthenticated, storeUserController);
app.get("/auth/logout", redirectIfAuthenticated, logoutController);


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

1 Ответ

0 голосов
/ 20 декабря 2018

Проблема была с заголовком моего основного файла шаблона.Я загружал css файлы:

  <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

, но вместо этого у меня должно было быть

  <link href="/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">

. В начале '/' говорит href, что он должен искать корень.

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