Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Erro ao acessar a rota livros

Error: An error occurred while trying to compile template at path "C:\Users\TGSV\Desktop\CursoNode\casadocodigo\src\app\views\livros\lista\lista.marko". Error(s) in template: 1) [src\app\views\livros\lista\lista.marko:1:3] Line has extra indentation at the beginning

at handleErrors (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\compiler\Compiler.js:94:21)
at Compiler.compile (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\compiler\Compiler.js:173:9)
at _compile (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\compiler\index.js:103:33)
at Object.compile (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\compiler\index.js:117:12)
at compile (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\node-require\index.js:59:41)
at Object.markoRequireExtension [as .marko] (C:\Users\TGSV\Desktop\CursoNode\casadocodigo\node_modules\marko\src\node-require\index.js:135:27)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
9 respostas

Professor realizei todos os passos da aula e esta informando este erro

Oi Thiago tudo bem,

Pode postar o seu lista.marko pra gente dar uma olhada ?

listagem de Livros

IDTítulo
1 Fundamentos de Node
<! doctype>


   <html>
        <head>
            <meta charset="utf-8">  
        </head>
        <body>
            <h1> listagem de Livros</h1>
            <table>
                <tr> 
                    <td> ID</td>
                    <td>Título</td>
                </tr>
                <tr>
                   <td> 1</td>
                   <td> Fundamentos de Node</td>
                <tr>
            </table>           
        </body>
</html>

é preciso compilar o arquivo lista.marko ? Pois no video não mostrar e também percebo que no video existe um lista.marko.js

Meu server.js

const app = require('./src/config/custom-express'); // Chamo a custom- Express

app.listen(3000, function(){
    console.log('Servidor redondo na porta 3000');
});

require('marko/node-require').install(); require('marko/express');

const express = require('express'); // encapsula o codigo const app = express();

// codigo para trazer as rotas

const rotas = require('../app/rotas/rotas'); rotas(app);

module.exports = app; // Esse codigo informa que vai receber a Const app

module.exports = (app) => {
    app.get('/', function(req,resp){
        resp.send(
            `
            <html>
                <head>
                    <meta charset="utf-8">

                </head>
                <body>
                    <h1> Casa do Codigo </h1>
                </body>

            </html>



     `
        );
    });

    app.get('/livros', function(req,resp){
        resp.marko(
              require('../views/livros/lista/lista.marko')

        );
    });

};

{ "name": "casadocodigo", "version": "1.0.0", "description": "Livraria Casa do Codigo", "main": "server.js", "scripts": { "test": "echo "Error: no test specified" && exit 1", "start": "nodemon server.js" }, "author": "Thiago Alves da Silva", "license": "ISC", "dependencies": { "express": "4.16.3", "marko": "4.13.4-1" }, "devDependencies": { "nodemon": "1.18.4" } }

insira seu código aqui

Fala Thiago,

Não deveria ter esse <! doctype> no início do seu lista.marko

Bom coloquei pois achei que a falta dele que estava causando o erro mas não , eu retirei conforme você sugeriu e ainda sim da erro . é como se ele não tivesse lendo o require

require('marko/node-require').install(); require('marko/express');

ou esta lendo mas a algo no arquivo que não gera o lista.marko.js ou este arquivo é manual?

solução!

Professor para resolver de imediato exclui a pasta node module , e realizei o seguinte código no prompt

npm  install

Após isso o meu código funcionou

Boa tarde, Thiago! Como vai?

Excelente que seu problema foi resolvido! Só mais um detalhe! Sobre o arquivo lista.marko.js, como dito durante o curso, o próprio Marko se encarregará de gerar!

Para saber mais: Dê uma olhada nessa aula a partir de 5:00.

Espero que esteja curtindo e aproveitando ao máximo o conteúdo do curso!

Grande abraço e bons estudos, meu aluno!