帆js从assets文件夹而不是views中加载部分视图



给定以下代码:

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

它将工作,如果我把 mypart .html在视图文件夹,但是我要做的是拉视图从。tmp/公共文件夹。

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

以前有人解决过这个问题吗?

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

另一方面,在呈现ejb时使用局部,相对路径取决于您所处理的视图。部分确实属于views文件夹。但是,如果你真的需要使用局部资源中的html,那么你必须访问相对于当前视图的myPartial.html。

假设你的mypart .html在.tmp/public/myPartial.html中,那么你的视图应该是类似于

视图/homepage.ejs

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

最新更新