Sails js 从资产文件夹而不是视图加载部分视图
Sails js load partial view from assets folder not from views
给定以下代码:
<html>
<body>
<%- partial('myPartial.html') %>
</body>
</html>
如果我将 myPartial.html 放在 views 文件夹中,它将起作用,但是我想要做的是从 .tmp/public文件夹。
我试过从同一位置导入脚本并且它有效,所以我认为它可能与 partial()
.
有关
有没有人解决过这个问题?
.tmp/public
是从 assets
文件夹生成的,由默认的 grunt 任务处理。 Sails 在运行时服务 assets 时使用它。因此,在提供资产(如脚本和样式)时,路径是相对于 .tmp/public.
另一方面,partials 用于渲染 ejs,相对路径取决于您处理的视图。 Partials 确实属于 views
文件夹。但是如果你真的需要使用部分资产中的html,那么你必须访问myPartial.html相对于当前视图。
假设您 myPartial.html 在 .tmp/public/myPartial.html
,那么您的视图应该类似于
views/homepage.ejs
<html>
<body>
<%- partial('../.tmp/public/test.html') %>
</body>
</html>
给定以下代码:
<html>
<body>
<%- partial('myPartial.html') %>
</body>
</html>
如果我将 myPartial.html 放在 views 文件夹中,它将起作用,但是我想要做的是从 .tmp/public文件夹。
我试过从同一位置导入脚本并且它有效,所以我认为它可能与 partial()
.
有没有人解决过这个问题?
.tmp/public
是从 assets
文件夹生成的,由默认的 grunt 任务处理。 Sails 在运行时服务 assets 时使用它。因此,在提供资产(如脚本和样式)时,路径是相对于 .tmp/public.
另一方面,partials 用于渲染 ejs,相对路径取决于您处理的视图。 Partials 确实属于 views
文件夹。但是如果你真的需要使用部分资产中的html,那么你必须访问myPartial.html相对于当前视图。
假设您 myPartial.html 在 .tmp/public/myPartial.html
,那么您的视图应该类似于
views/homepage.ejs
<html>
<body>
<%- partial('../.tmp/public/test.html') %>
</body>
</html>