Sails js从assets文件夹加载部分视图而不是视图

时间:2016-11-04 21:31:01

标签: sails.js partials

给出以下代码:

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

如果我将 myPartial.html 放在views文件夹中,它会起作用,但我尝试做的是从.tmp / public文件夹中提取视图。

我尝试从同一位置导入脚本并且它可以正常工作,所以我认为它可能与partial()有关。

有没有人以前解决了这个问题?

1 个答案:

答案 0 :(得分:0)

.tmp/public是从assets文件夹生成的,由默认的grunt任务处理。在运行时提供assets时,Sails使用它。因此,在提供资源(如脚本和样式)时,路径与 .tmp / public 相关。

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

让我们说你myPartial.html在.tmp/public/myPartial.html,然后你的观点应该像

<强>视图/ homepage.ejs

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