Express.js,Node.js Jade vim

时间:2011-04-30 18:40:47

标签: vim node.js express

帮助,然后我把我漂亮,昂贵的MacBook Pro扔到地上,感到烦恼。

我正在尝试在Expressjs中运行一些东西,这让我很紧张。 我正在关注以下教程:expressjs.com/screencasts.html

截屏视频2:

我收到此错误消息:

Express
500 Error: /home/duncan/helloExpress/views/users.jade:4 2| p#users 3| - each user in users > 4| li user.name 5| expected "indent", but got "newline"

    * 2| p#users
    * 3| - each user in users
    * > 4| li user.name
    * 5|
    *
    * expected "indent", but got "newline"
    * at Object.expect (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:131:13)
    * at Object.parseBlock (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:330:10)
    * at Object.parseEach (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:289:64)
    * at Object.parseExpr (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:175:21)
    * at Object.parseBlock (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:335:25)
    * at Object.parseTag (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:425:26)
    * at Object.parseExpr (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:163:21)
    * at Object.parse (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/parser.js:114:25)
    * at parse (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:179:62)
    * at Object.compile (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:224:7)

请帮助,我知道当它为什么要缩进时会得到换行符?我该如何修复盛开的东西!!

我的users.jade如下:

h1 Users
p#users 
    - each user in users
    li user.name

------------------


现在问题是......


现在好了,有人指出我应该使用ul而不是p(段落)元素 - 一旦你注意到它就很明显,尽管错误信息可能更好。

但是,我现在收到以下错误: 虽然我现在收到以下错误:

Express
500 SyntaxError: Unexpected identifier

    * at Object.Function (unknown source)
    * at Object.compile (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:230:10)
    * at ServerResponse._render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:368:22)
    * at ServerResponse.render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:234:17)
    * at Object. (/home/duncan/helloExpress/app.js:46:7)
    * at nextMiddleware (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:139:34)
    * at param (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:147:16)
    * at pass (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:155:10)
    * at Object.router [as handle] (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:161:6)
    * at next (/usr/local/lib/node/.npm/connect/1.4.0/package/lib/http.js:204:15)

我的app.js代码如下:

var users = [
    {   name: 'Duncan', email: 'duncan@email.com'},
    {   name: 'Bob',    email: 'bob@email.com'}
];

和...


app.get('/users', function(req, res){
  res.render('users', {
        users: users
  });

});

我不知道今天我是不是只是失明了,但我真的想让这个例子有效。

NB。 app.js 46:7是'res.render'字符7是。在res和render之间。

5 个答案:

答案 0 :(得分:4)

我将p更改为ul(p标签不应该有子项)。 我在jade中定义了users数组(适用于测试)。

请注意- eachli=之后的缩进。

- users = [ { name:'Duncan' }, { name: 'Henry'}, { name: 'Raynos' } ]
h1 Users
ul#users 
  - each user in users
    li= user.name

答案 1 :(得分:1)

ul
    - each item in sidebars
        li
          a(href=item.href,target='_self') !{item.name}

答案 2 :(得分:0)

听起来它可能有重要的空白问题。

尝试

h1 Users
p#users 
- each user in users
li user.name

它可能不喜欢你的缩进。通常更新到更高版本的jade / node / express也可以提供帮助。

答案 3 :(得分:0)

h1 Users
p#users 
- each user in users
  li user.name

试试

答案 4 :(得分:0)

我也面临同样的问题,但我的代码就像这样

<强>之前

h2 All Users
ul
  each user in users
  li #{user.name}

<强>后

h2 All Users
ul
  - each user in users
    li #{user.name}

在每个陈述之前添加 - 是