Pug-Jade模板访问模块数据

时间:2016-11-28 16:38:11

标签: javascript pug

编辑:我正在尝试创建一个prag-jade模板,其中创建了一个表,该表的第一行是静态的(即一些标题),用于我想要添加员工的每个后续行。我有3个文件express.js(handels请求我的应用程序)employee.js和index.pug。
这是我在employee.js中导出的​​内容

function Employee (id,name,surname,lvl,salary){
this.id = id;
this.name = name;}
exports.employees = {
employeeList: [],
//the empList is a list of employee defined above, class contains some other methods   
}  

在express.js中我打电话:

var employees = require('./employees')

在请求处理程序中我调用:

res.render('index',{employees: employees})

最后在index.pug中尝试:

tbody
    for val in employees.employeeList
        td=val.id
        td=val.name   

这就是错误:

TypeError: /Users/filippobosco/Desktop/GitHubRepos/IngSoftware2/Employees/ExpressTutorial/views/index.pug:39   

  37| th Salary
  38| tbody
> 39| for val in employees.employeeList
  40| td=val.id
  41| td=val.name
  42| 

  Cannot read property 'length' of undefined

我希望现在更清楚了。

2 个答案:

答案 0 :(得分:0)

您的employees变量为undefined

这意味着您的require('employees')导入存在问题。如果无法看到employees.js文件,我必须猜测您exports未正确设置。

答案 1 :(得分:0)

一旦你处理了上述建议......

我来自这里有类似的问题,对我有用的东西会是这样的:

tbody
for val in employees.employeeList
    td #{val.id}
    td #{val.name}  

注意:我正在使用哈巴狗3.10.6