Hapi服务器无法在不同的视图文件夹下加载公共文件

时间:2015-08-16 05:13:41

标签: javascript node.js express pug hapijs

我有一个目录app / server / views /其中所有的玉文件都存在。由于我的应用程序现在开始有更多的玉文件,我想到了基于actor的类别构建app / server / views /以简化& maintainence。类似的东西:

  • 应用程序/服务器/视图/管理/ task1.jade
  • 应用程序/服务器/视图/管理/ task2.jade
  • 应用程序/服务器/视图/超级管理员/ task1.jade
  • 应用程序/服务器/视图/超级管理员/ task2.jade
  • 应用程序/服务器/视图/用户/ task1.jade
  • 应用程序/服务器/视图/用户/ task2.jade

如果所有的jade文件都存在于/ app / server / views /目录中,我的index.js文件在加载jade文件时没有问题。但是,根据上述目录格式的结构,我遇到了问题:

server.views({
    engines: 
    {
       jade: require('jade') 
    },
    path: [ __dirname + "/app/server/views/admin", __dirname + "/app/server/views/superadmin", __dirname + "/app/server/views/user" ]
});

使用上面的索引文件,我的jade文件将无法加载。

1 个答案:

答案 0 :(得分:0)

我不认为路径可以是阵列。从文档中,我认为它应该是一个目录。

path: Path.join( __dirname, 'app/server/views' )之类的内容然后从您的控制器调用模板reply( 'admin/task1', ....)

如果你能以编程方式确定角色的角色并拥有完全相同的代码,那么reply( actorsRole + '/task1' )之类的东西应该可以解决问题。