2016-11-04 82 views
0

考虑下面的代码文件夹没有:帆JS加载局部视图,从资产的观点

<html> 
<body> 
<%- partial('myPartial.html') %> 
</body> 
</html> 

如果我把myPartial.html在views文件夹它会工作,但是我想要做的是从.tmp/public文件夹中拉取视图。

我试过从相同的位置导入一个脚本,它工作,所以我认为它可能与partial()有关。

有没有人解决过这个问题?

回答

0

.tmp/publicassets文件夹生成,默认为grunt任务处理。它在运行时服务于assets时由Sails使用。因此,在提供脚本和样式等资产时,路径相对于.tmp/public

另一方面,partials在渲染ejs时使用,并且相对路径取决于您正在处理的视图。部分文件真的属于views文件夹。但是如果你真的是需要使用一个html中的资源中的一个partial,那么你必须访问相对于当前视图的myPartial.html。

让我们说你myPartial.html在.tmp/public/myPartial.html,那么您认为应该是这样

的意见/ homepage.ejs

<html> 
    <body> 
    <%- partial('../.tmp/public/test.html') %> 
    </body> 
</html>