2017-11-15 1 views
2

Ich versuche, Lenker und ich bin mit der folgenden einfachen Vorlage für diesen:Lenker - Expecting ‚OPEN_INVERSE_CHAIN‘, ‚INVERSE‘, ‚OPEN_ENDBLOCK‘ erwartet, ‚EOF‘

<html> 

<head></head> 

<body> 

    <h1>{{title}}</h1> 
    <p>{{body}}</p> 

    {{#each list}} 
    <ul> 
     <li>{{@index}}. {{this}}</li> 
    </ul> 
    </br> 
    {{{htmlTag}}} 

    {{#if user.admin}} 
    <button class="launch">Launch Spacecraft</button> {{else}} 
    <button class="login"> Log in</button> 
    {{/if}} 
    {{!-- This is a comment --}} 

</body> 
</html> 

Meine app.js sieht aus wie die folgende:

require('dotenv').config() 
const express = require('express') 
const logger= require('morgan') 
const path = require('path') 

const app = express() 

app.set('views', path.join(__dirname, 'views')) 
app.set('view engine', 'hbs') 
app.use(logger(process.env.LOG_ENV)) 

app.get('/', (req, res) => { 
    const titel = "This is a titel" 
    const body = "Lorem ipsum dolor sit amen ..." 
    const list = ['apple', 'banana', 'vegetable'] 
    const htmlTag = '<h2>This is an unescaped Heading</h2>' 
    const user = { 
    admin: true 
    } 
    res.render('index',{titel, body, list, htmlTag, user}) 
}) 


// Start Server 
const port = process.env.APP_PORT || 8080 
const host = process.env.APP_URL || '0.0.0.0' 

app.listen(port, host,() => { 
    console.log(`Listening on ${host}:${port}/`) 
}) 

module.exports = app 

Wenn ich die Seite machen, bekomme ich folgende Fehlermeldung:

Error: /home/ubuntu/workspace/src/views/index.hbs: Parse error on line 20: ...}} -------------------^ Expecting 'OPEN_INVERSE_CHAIN', 'INVERSE', 'OPEN_ENDBLOCK', got 'EOF' at Object.parseError (/home/ubuntu/workspace/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js:267:19) at Object.parse (/home/ubuntu/workspace/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js:336:30) at HandlebarsEnvironment.parse (/home/ubuntu/workspace/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js:46:43) at compileInput (/home/ubuntu/workspace/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:514:19) at ret (/home/ubuntu/workspace/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js:523:18) at /home/ubuntu/workspace/node_modules/hbs/lib/hbs.js:63:19 at tryToString (fs.js:456:3) at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:443:12)

Beliebig was mache ich falsch in meiner Vorlage?

Ich freue mich über Ihre Antwort!

Antwort

6

Fehlerzustände:

Expecting (...), got EOF

Wo:

  1. (...) ist, was es möglicherweise
  2. EOF erwarten kann, ist End of File

Was Sie sind fehlt schließt {{/each}}:

{{#each list}} 
<ul> 
    <li>{{@index}}. {{this}}</li> 
</ul> 
</br> 
{{{htmlTag}}} {{#if user.admin}} 
<button class="launch">Launch Spacecraft</button> {{else}} 
<button class="login"> Log in</button> {{/if}} {{!-- This is a comment --}} 
{{/each}} <!-- HERE -->