Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
riha.pavel
Člen
Avatar
riha.pavel:23.6.2021 15:59
var express = require('express');
var app = express();
app.set('view engine', 'pug');
app.get('/', function (req, res) {
    res.render('index',
        { title: 'Guru99', message: 'Welcome' })
});
var server = app.listen(3000, function () { });

negunguje to, hází chyby

Zkusil jsem: Error: Failed to lookup view "index" in views directory "C:\Users\User\no­de.js\views"
at Function.render (C:\Users\User\no­de.js\node_mo­dules\express\lib\ap­plication.js:580:17)
at ServerResponse­.render (C:\Users\User\no­de.js\node_mo­dules\express\lib\res­ponse.js:1012:7)
at C:\Users\User\no­de.js\express2­.js:7:9
at Layer.handle [as handle_request] (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\layer.js:95:5)
at next (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\route.js:137:13)
at Route.dispatch (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\layer.js:95:5)
at C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\index.js:281:22
at Function.proces­s_params (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\index.js:335:12)
at next (C:\Users\User\no­de.js\node_mo­dules\express\lib\rou­ter\index.js:275:10)

Chci docílit: Jsem začátečník a ani tento jendoduchý kód mně nefunguje

 
Odpovědět
23.6.2021 15:59
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23.6.2021 16:18

Ahoj, vycházel bych z chybové hlášky, konkrétně z prvního řádku:

Error: Failed to lookup view "index" in views directory "C:\Users\User\no­de.js\views"

Zkontroluj si, že na té cestě soubor index opravdu existuje. Nemá tam být třeba i typ souboru? (.html)

Nahoru Odpovědět
23.6.2021 16:18
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
riha.pavel
Člen
Avatar
Odpovídá na Petr Štechmüller
riha.pavel:23.6.2021 19:23

je tam index.pug a má se automaticky zkompilovat na index.html

 
Nahoru Odpovědět
23.6.2021 19:23
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23.6.2021 19:25

OK a opravdu se to automaticky zkompilovalo na index.html? Vidíš ten soubor?

Nahoru Odpovědět
23.6.2021 19:25
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
riha.pavel
Člen
Avatar
Odpovídá na Petr Štechmüller
riha.pavel:23.6.2021 19:44

index.html ani v kořeni ani ve view není

 
Nahoru Odpovědět
23.6.2021 19:44
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23.6.2021 20:00

Pak ta chybová hláška dává smysl. Teď už jenom zbývá zjistit, proč to tak je.
Bohužel s view enginy na NodeJS nemám zkušenosti. Můžeš sem poslat odkaz na návod, podle kterého se to snažíš rozchodit? Třeba tam něco vykoukám.

Nahoru Odpovědět
23.6.2021 20:00
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23.6.2021 20:12

Trochu jsem zapátral a zjistil jsem, že ti nejspíš chybí jedno volání, kde se nastaví cesta k view.
Stránka: https://blog.bitsrc.io/…7319ab1bba69?…

Kód:

const express = require('express')
const app = express()
app.set('view engine', 'pug')
app.set('views', './src.views')
app.get('/', (req,res) => {
res.render(index)
})
app.listen(3000, () => console.log(“Listening on port 3000”))
Nahoru Odpovědět
23.6.2021 20:12
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
riha.pavel
Člen
Avatar
Odpovídá na riha.pavel
riha.pavel:23.6.2021 20:42

nakonec takto to funguje

var express = require('express');
var app = express();
var path = require('path');
app.set('view engine', 'pug');
app.set("views", path.join(__dirname, "views"));
app.get('/', function (req, res) {
    res.render('index');
});
var server = app.listen(3000, function () { });
 
Nahoru Odpovědět
23.6.2021 20:42
Avatar
riha.pavel
Člen
Avatar
Odpovídá na riha.pavel
riha.pavel:23.6.2021 21:22

takže omyl, nefunguje to, spustil jsem omylem něco jiného

 
Nahoru Odpovědět
23.6.2021 21:22
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.