在 Java 环境中编译为 javascript 的模板

Templates compiled to javascript in a Java environment

来自 Node.js 现在使用 Java 我想知道如何实现Java 我用 Node.js 做了什么,更具体地说:如何将我的模板编译成 JS 函数。

我之前做的是使用 EJS 模板,然后将它们编译成一个单独的 JS 文件,该文件公开函数以从 JS 调用参数,这些函数返回一个 HTML 字符串,我可以将其用作更新我的观点。

这样做的好处是我可以在单独的文件中编写我的模板,(EJS) 然后动态地 Grunt/EJS(我猜,这是来自 Sails.js 内部逻辑)将模板转换为一个函数,合并所有这些并最终生成一个可在我的应用程序中使用的文件,我只需要调用一个函数,提供参数就可以了:我得到一个动态生成的视图。

我想在 Java 环境中实现相同的目标,使用 Ant,也许是 maven,但我不知道该怎么做,也不知道去哪里寻找,因为我是 Java 新手.

编辑:

我说的是客户端模板,我只是想避免在 JS 字符串中编写 HTML 代码并将它们拆分到单独的文件中的丑陋传统方式,这样我可以更轻松地维护它们。我只需要从 JS 使用它们,而不是从 Java,但我需要从 Java 环境使用 Ant "compile" 它们。

这有点类似于this post, and this one,所以你可以看看那里是否有其他有用的答案。

一个共识似乎是 Mustache,它有一个 Java 实现的编译器(以及其他风格)可以作为 Ant 目标执行。这是一个无逻辑的模板,因此您可能需要寻找其他解决方案。

因为可以从 Ant 调用 Node.js 脚本,所以没有 Node.js 似乎是人为限制。如果您可以说服您的团队允许 Node.js.

,您将在模板选择方面有更多选择和灵活性

Node.js 与 Java 工具不是非此即彼的关系。在一个项目中两者都有足够的空间,我曾在使用 Node.js 的 C# 项目上工作过,就像我在使用 JRuby、Java 和 Rails 上工作过的项目一样]. None 这些技术排除了其他技术。

请注意,我 建议您尝试说服人们切换到 Node.js 作为环境、迁移现有代码或使用 Grunt,但是如果这是一个您熟悉的有用工具,我想不出一个很好的理由来拒绝您使用它。

另一个解决方案是使用我昨天发现的这个库。我已经尝试过了,它似乎运行良好,一些功能对于开发模式也非常有用,比如模板上的观察者。

http://jcruncher.org/

我想我会接受它,只是想知道作者和他的含义,并希望尽快看到 Handlebars 3.0.0 兼容版本,以及 GitHub 上的源代码。

P.S:handlebars编译器在CDN上可以找到(select2.0.0版本):

http://cdnjs.com/libraries/handlebars.js/ https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.runtime.min.js