2014-01-14 74 views
0

我收到來自以下複製的一個玉文件的錯誤消息(錯誤:字符串末尾沒有找到右括號) - 我複製了下面使用的兩個玉文件以及。玉使用expressJS時出錯

Login.jade

extends layout 

    block content 
     .login.well 
      h1 Please login in... 
      hr 
      form(id='login', method='POST', action='/login' novalidate) 
       .form-group 
        label(for='username') Username 
        input(type='text', name='username', class='form-control', id='username' placeholder='Enter usernamea', required, data-required-msg='Username is required') 
       .form-group 
        label(for='password') Password 
        input(type='password', name='password', class='form-control', id='password', placeholder='Enter password', required, data-required-msg='Password is required') 
       .form-group 
        button.btn.btn-default Login 
       include messages 

messages.jade

if flash 
    p flash 
    div.alert(class='#{flash.type}') 
    ul 
    - for (var i = 0; i< flash.messages.length; i++) { 
     li #{flash.messages[i]/msg} 
    - } 
    ul 

layout.jade

doctype html 
html 
    head 
    title= title 
    link(rel='stylesheet', href='//netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css') 
    link(rel='stylesheet', href='/stylesheets/style.css') 
    a: img(src="/images/logo.png", alt="Test Test") 
    body 
    block content 

    script(src='//code.jquery.com/jquery-1.10.1.min.js') 

錯誤消息:

500 Error: /home/devName/devCompany/node-v0.10.22/dashboard/views/login.jade:18<br/> 16| include messages<br/> 17| <br/> > 18| <br/><br/>The end of the string was reached with no closing bracket found. 

    16| include messages 
    17| 
    > 18| 
    The end of the string was reached with no closing bracket found. 
    at parseMax (/home/devName/devCompany/node-v0.10.22/node_modules/jade/node_modules/character-parser/index.js:26:13) 
    at Object.Compiler.buffer (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:96:25) 
    at Object.Compiler.visitText (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:485:10) 
    at Object.Compiler.visitNode (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:210:37) 
    at Object.Compiler.visit (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:197:10) 
    at Object.Compiler.visitBlock (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:278:12) 
    at Object.Compiler.visitNode (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:210:37) 
    at Object.Compiler.visit (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:197:10) 
    at Object.Compiler.visitTag (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:445:12) 
    at Object.Compiler.visitNode (/home/devName/devCompany/node-v0.10.22/node_modules/jade/lib/compiler.js:210:37) 

回答

0

在我的messages.jade文件中有一個類型。我在第二行生成錯誤(不太有用)時使用了斜槓而不是點號:

if flash 
    p flash 
    div.alert(class='#{flash.type}') 
    ul 
    - for (var i = 0; i< flash.messages.length; i++) { 
     li #{flash.messages[i].msg} 
    - } 
1

嘗試從messages.jade文件中刪除第二ul

if flash 
    p flash 
    div.alert(class='#{flash.type}') 
    ul 
    - for (var i = 0; i< flash.messages.length; i++) { 
     li #{flash.messages[i]/msg} 
    - } 
+0

感謝您的分享 - 問題是由於第二行最後一行的拼寫錯誤(斜槓而不是點)。 +1嘗試 - 讚賞。 –