dodání ihned! nové
Hledáme programátora do rostoucího týmu ITnetwork.cz, 100% home office, 100% flexibilní pracovní doba. Více informací
Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
BF

Diskuze: špatná instalace express

Aktivity
Avatar
riha.pavel
Člen
Avatar
riha.pavel:23. června 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. června 15:59
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23. června 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. června 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. června 19:23

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

 
Nahoru Odpovědět
23. června 19:23
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23. června 19:25

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

Nahoru Odpovědět
23. června 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. června 19:44

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

 
Nahoru Odpovědět
23. června 19:44
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23. června 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. června 20:00
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Petr Štechmüller
Překladatel
Avatar
Odpovídá na riha.pavel
Petr Štechmüller:23. června 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. června 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. června 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. června 20:42
Avatar
riha.pavel
Člen
Avatar
Odpovídá na riha.pavel
riha.pavel:23. června 21:22

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

 
Nahoru Odpovědět
23. června 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.