• 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.

Mały hosting, OGROMNE możliwości
0 głosów
645 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,170 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,170 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 209 wizyt
pytanie zadane 6 listopada 2022 w JavaScript przez Mefyra Nowicjusz (190 p.)
0 głosów
0 odpowiedzi 700 wizyt
0 głosów
1 odpowiedź 464 wizyt
pytanie zadane 27 sierpnia 2020 w JavaScript przez boneoflive Użytkownik (930 p.)

93,715 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,258 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...