• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Strona główna aplikacji ejs nie aktualizuje się natomiast wszystkie inne podstrony działają poprawnie.

Object Storage Arubacloud
0 głosów
226 wizyt
pytanie zadane 26 stycznia 2021 w JavaScript przez Piotr Kułakowski Początkujący (390 p.)
zamknięte 27 stycznia 2021 przez ScriptyChris

Cześć,

W mojej aplikacji nodejs z silnikiem widoków ejs główna strona nie aktualizuje się natomiast wszystkie inne podstrony działają poprawnie. Mam te błąd już od kilku dni i nie wiem co zrobić. W każdej przeglądarce działa to tak samo. Wszędzie czyściłem ciasteczka i cache, ale nic nawet w samej aplikacji do dałem metodę ejs.clearCache() i dalej nie działa.

tutaj umieszczam kod z app.js, index.js i server.js  :

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const flash = require('connect-flash');
const session = require('express-session');
const routes = require('./routes/index');
const errorControllers = require('./controllers/ErrorControllers');
const sanitizer = require('sanitize').middleware;
const ejs = require('ejs');

const app = express();

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.static(path.join(__dirname, 'public')));

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

app.use(session({
    secret: 'sendEmail',
    resave: true,
    saveUninitialized: true,
    cookie: {}
}));

app.use(flash());

app.use('/', routes);

app.use(sanitizer);
app.use(errorControllers.notFound);
app.use(errorControllers.catchErrors);

ejs.clearCache();

module.exports = app;
const express = require('express');
const router = express.Router();

const PagesControllers = require('../controllers/PagesControllers');
const ApplicationController = require('../controllers/ApplicationController');
const { catchAsync } = require('../controllers/ErrorControllers');

router.get('/', PagesControllers.home);

// subpages
router.get('/subpages/portfolio.html', PagesControllers.po...);

router.get('/subpages/reviews.html', PagesControllers.rev...);

router.get('/subpages/web-pages.html', PagesControllers.we...);

router.get('/subpages/ux-design.html', PagesControllers.ux...);

router.get('/subpages/seo.html', PagesControllers.s...);

router.get('/subpages/online-shops.html', PagesControllers.on...);

router.get('/subpages/landing-page.html', PagesControllers.la...);

router.post('/src/account.js',
    ApplicationController.sanitize,
    ApplicationController.validate,
    ApplicationController.checkValidation,
    catchAsync(ApplicationController.store)
);

module.exports = router;
const app = require('./app');

app.set('port', 3000);

const server = app.listen(app.get('port'));
exports.home = (req, res) => {
    res.render('home', {
        formMessage: req.flash('form'),
        title: '',
        description: '',
        prefix: '',
    });
};

Jak by było jeszcze coś potrzebne to piszczie.

I z góry dziękuję.

komentarz zamknięcia: Rozwiązaniem problemu było poprawienie struktury plików - opisane w komentarzu.
komentarz 26 stycznia 2021 przez Piotr Kułakowski Początkujący (390 p.)

Jeśli chodzi o konfigurację route to mam to zrobione w tym index.js który jest w pierwszym poście i mam go zaimportowanego do app.js i tam użytą funkcję 

app.use('/', routes)

 

komentarz 26 stycznia 2021 przez Piotr Kułakowski Początkujący (390 p.)
W przeglądarce pokazuje mi się strona z pierwszego w czytania strony głównej, a w konsoli nie wyskakuje żaden błąd. To jest aplikacja którą po jakimś czasie robienia po prostu przeniosłem do node i od czasu przeniesienia jej do node i zmienienia plików HTML na ejs oraz podzielenia ich na komponenty ta główna strona w ogóle się nie aktualizuję widzę kod z pierwszego wczytania strony po przeniesieniu jej do node.
komentarz 27 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)
Trudno mi stwierdzić co jest przyczyną problemu patrząc na sam kod - przydało by się móc go przetestować z użyciem debuggera. Tutaj pomocne by było jakbyś upublicznił demo, na którym można odtworzyć ten problem. Nie musisz w nim udostępniać ficzerów biznesowych ani docelowej treści stron - wystarczy minimalistyczny kod, który po uruchomieniu pozwoli zreprodukować problem.
1
komentarz 27 stycznia 2021 przez Piotr Kułakowski Początkujący (390 p.)
Dobra już naprawiłem błąd i serdecznie dziękuję za poświęcony czas.

Zacząłem grzebać w plikach i folderach całej strony i po dłuższym czasie zauważyłem, że przy przenoszeniu tej strony jej do node, kiedy całą zwartość strony dałem do folderu public, a następnie usunąłem z tamtąd folder z podstronami to przez to, że index.html był poza tym folderem nie usunąłem go. Teraz już po usunięciu index.html z public wszystko działa tak jak powinno.

Jeszcze raz Dziękuję za poświęcony czas
komentarz 27 stycznia 2021 przez ScriptyChris Mędrzec (190,190 p.)
Mhmm, czyli to nie była wina ani cache przeglądarki ani express'a (chyba, że w jego konfiguracji można zrobić obejście dla takiej sytuacji), lecz struktury plików. Fajnie, że się udało. :)

Podobne pytania

0 głosów
0 odpowiedzi 86 wizyt
pytanie zadane 6 listopada 2022 w JavaScript przez Mefyra Nowicjusz (190 p.)
0 głosów
0 odpowiedzi 211 wizyt
0 głosów
1 odpowiedź 302 wizyt
pytanie zadane 27 sierpnia 2020 w JavaScript przez boneoflive Użytkownik (930 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...