当前位置:  开发笔记 > 编程语言 > 正文

在Sails.js中使用客户端模板

如何解决《在Sails.js中使用客户端模板》经验,为你挑选了1个好方法。

我是新来的 Sails.js

我试图assets/templates在sails中使用该功能来呈现数据客户端,但我似乎找不到任何有用的示例.

我正在寻找原生的Sails解决方案,没有角度或其他框架.只需.JST从中加载模板assets/templates并使用jQuery填充它们

任何人都可以参考使用客户端模板的工作示例 sails.js?

Akseli Palén.. 6

这篇文章真的缺乏文档.但是,我设法通过以下步骤在Sails 0.12.4中使用客户端模板:

1.先决条件

默认情况下,您应该已经拥有一个包含views/homepage.ejs模板部分的文件:

...


...

现在,通过运行$ sails lift,将模板assets/templates/编译成一个javascript文件jst.js,然后自动插入views/homepage.ejs模板部分注释标签之间.但是,我们首先需要一个模板!

2. EJS模板

写一个模板文件,说assets/templates/example.ejs:

<%= message %>

有一个问题.默认情况下,Sails仅编译以*.html.结尾的模板.这没有意义,因为模板文件显然不是HTML,也因为服务器端模板views/已经具有扩展名.ejs.要更改它,请替换以下行tasks/pipeline.js:

var templateFilesToInject = [
  'templates/**/*.html'
];

var templateFilesToInject = [
  'templates/**/*.ejs'
];

这使我们example.ejs可以编译成jst.js一个javascript函数.

3.定义_

这还不够.在编译的JavaScript jst.js取决于下划线或交替Lodash.如果没有_在客户端的命名空间中,执行模板函数将引发错误.

要在客户端导入此选项,请下载您选择的版本并将其置于其下assets/js/dependencies/.例如,缩小的Lodash核心似乎就足够了.在接下来的过程中sails lift,将自动插入文件的新脚本标记homepage.ejs,最终放入_命名空间.

4.渲染模板

默认情况下,运行$ sails lift并浏览到localhost:1337的主页.在jst.js已创建的模板函数window.JST['assets/templates/example.ejs'].

要对其进行测试,请打开开发人员控制台,然后键入:

> window.JST['assets/templates/example.ejs']({message: 'Hello'})

这应该返回你的字符串

Hello

.您现在要将此字符串插入到文档中的某处.我们假设您将其存储到变量中piece.你可以使用jQuery $('#target').html(piece)或旧的document.getElementById('target').innerHTML = piece.无论如何,结果,渲染的字符串现在插入到#target元素下的页面中.



1> Akseli Palén..:

这篇文章真的缺乏文档.但是,我设法通过以下步骤在Sails 0.12.4中使用客户端模板:

1.先决条件

默认情况下,您应该已经拥有一个包含views/homepage.ejs模板部分的文件:

...


...

现在,通过运行$ sails lift,将模板assets/templates/编译成一个javascript文件jst.js,然后自动插入views/homepage.ejs模板部分注释标签之间.但是,我们首先需要一个模板!

2. EJS模板

写一个模板文件,说assets/templates/example.ejs:

<%= message %>

有一个问题.默认情况下,Sails仅编译以*.html.结尾的模板.这没有意义,因为模板文件显然不是HTML,也因为服务器端模板views/已经具有扩展名.ejs.要更改它,请替换以下行tasks/pipeline.js:

var templateFilesToInject = [
  'templates/**/*.html'
];

var templateFilesToInject = [
  'templates/**/*.ejs'
];

这使我们example.ejs可以编译成jst.js一个javascript函数.

3.定义_

这还不够.在编译的JavaScript jst.js取决于下划线或交替Lodash.如果没有_在客户端的命名空间中,执行模板函数将引发错误.

要在客户端导入此选项,请下载您选择的版本并将其置于其下assets/js/dependencies/.例如,缩小的Lodash核心似乎就足够了.在接下来的过程中sails lift,将自动插入文件的新脚本标记homepage.ejs,最终放入_命名空间.

4.渲染模板

默认情况下,运行$ sails lift并浏览到localhost:1337的主页.在jst.js已创建的模板函数window.JST['assets/templates/example.ejs'].

要对其进行测试,请打开开发人员控制台,然后键入:

> window.JST['assets/templates/example.ejs']({message: 'Hello'})

这应该返回你的字符串

Hello

.您现在要将此字符串插入到文档中的某处.我们假设您将其存储到变量中piece.你可以使用jQuery $('#target').html(piece)或旧的document.getElementById('target').innerHTML = piece.无论如何,结果,渲染的字符串现在插入到#target元素下的页面中.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有