0

我使用 express 工具“express -s”创建了一个项目,默认情况下,它将玉指定为默认视图模板系统。

我还创建了一个文件 index.html 并使用 html2jade 工具对其进行了转换,问题是当我尝试使用此函数访问 index.jade 文件时:

exports.index = function(req, res){
     console.log('welcome admin');
     res.render('admin/app/index', {  }); 
}

我收到了这个错误

SyntaxError: Unexpected token .
at Object.Function (unknown source)

请有人可以解释什么是错的:)

提前致谢。

4

3 回答 3

1
That problem seems to be some formatting issue. you can use ejs instead. add the following to your app.js:
// map .renderFile to ".html" files
app.engine('html', require('ejs').renderFile);

// make ".html" the default
app.set('view engine', 'html');

//Then you can use below code to render html files and code in ejs:
res.render('index.html);
于 2013-02-03T17:32:22.317 回答
0

可能是您没有向索引文件发送任何数据。我会尝试这样的事情..

    exports.index = function(req, res){
      console.log('welcome admin');
      res.render('index', { output: 'Welcome Admin' }); 
    }

然后在你想要的 app.js 文件中

    app.get('/', routes.index);

然后在你的 index.jade 文件中应该有输出键的标签。这样输出键的任何值都会打印在模板中。

于 2012-11-20T15:55:49.827 回答
0

该错误通常意味着您的模板中的 Jade 语法存在问题,因此我会仔细检查 - 终端的输出应该包含有关解析错误发生位置的更详细信息。

此外,如果您还没有配置它,我建议添加以下内容以打开 Connect 的错误处理程序:

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
});
于 2012-11-20T21:12:59.413 回答