1

好吧,我正在尝试进入 Node.js / Express.js - 但是我在通过截屏视频时遇到了一些问题,第一个问题现已解决,当它被发现时非常明显(Express.js,Node .js 玉 vim)。

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

表达
500 SyntaxError:意外的标识符

    * 在 Object.Function (未知来源)
    * 在 Object.compile (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:230:10)
    * 在 ServerResponse._render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:368:22)
    * 在 ServerResponse.render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:234:17)
    * 在对象。(/home/duncan/helloExpress/app.js:46:7)
    * 在 nextMiddleware (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:139:34)
    * 在参数 (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:147:16)
    * 通过 (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:155:10)
    * 在 Object.router [作为句柄] (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:161:6)
    * 在下一个(/usr/local/lib/node/.npm/connect/1.4.0/package/lib/http.js:204:15)

我的 app.js 代码如下: 声明对象的 users 数组

变种用户 = [
    {名称:'邓肯',电子邮件:'duncan@email.com'},
    {名称:'鲍勃',电子邮件:'bob@email.com'}
];

和...调用和呈现新 users.jade 的位

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

});

我不知道我今天是否只是失明,但我真的很想让这个例子工作。

注意。app.js 46:7 是 'res.render' 字符 7 是 . 在 res 和 render 之间。- 从错误消息中。

users.jade 文件如下:

h1 用户
ul#用户
    - 用户中的每个用户
    li=用户名

如果我摆脱: user in users 和 li= user.name

它呈现页面,只要我添加它们,它就会给我上面的错误消息,并说 res.render('users' - on the dot (46:7).

PS。我在这里关注第二个教程:http: //expressjs.com/screencasts.html

我的缩进:

[缩进] - [缩进] users 中的每个用户
[缩进] [缩进] li= [缩进] 用户名
4

2 回答 2

4

您需要li= user.name从每个语句中缩进另一个级别。

这应该有效:

h1 Users
ul#users
  - each user in users
    li= user.name
于 2011-05-01T09:56:15.567 回答
0

我收到此错误是因为在我的 layout.jade

我有:

html(class="no-js" lang="en")

很明显,^^^ 正确的地方缺少一个逗号!!!!
Jade 很棒,但是哇,错误信息对初学者来说很糟糕。

本来应该:

html(class="no-js", lang="en")
于 2013-03-09T02:07:08.497 回答