为了构建静态网页以提供交互式新闻应用程序(主要是用D3或使用Bootstrap.js构建的轻量级应用程序编写的数据可视化),安装和配置像Middleman或Grunt这样的构建系统是值得的吗? .js文件?
我之所以要问的原因是因为我根本不熟悉Ruby和Ruby Gems,而且目前没有时间和意愿深入研究它,因为我已经知道Python& Javascript很好。
我是否需要了解Ruby才能有效地使用Middleman?或者我应该只使用Grunt?我问,因为我想一遍又一遍地重复使用相同的模板,并且听说这对Middleman来说很容易。
答案 0 :(得分:2)
Middleman和Grunt之间存在明显差异 Grunt是通用任务运行者,而Middleman是静态站点生成器。
例如,Middleman将用于创建具有多个URL的站点。您将一些文件放在一个文件夹中,Middleman负责安排它们,为URL创建子文件夹,渲染布局,压缩资源,最后您有一堆代表该站点的文件。所有这些都是内置的。您不一定需要了解很多Ruby才能开始使用Middleman,但要充分利用它,了解它的工作原理并根据您的需求更改配置,基本的Ruby知识是关键。
另一方面,Grunt使用插件并告诉他们究竟该做什么。默认情况下它什么都不做。您可以将Grunt视为“框架”,随时可以添加任务。压缩这两个css文件。合并这些JS文件并在此处移动主题。这样的事情。为了建立一个完整的网站,我推荐Middleman。为了能够使用您使用其他语言(如JS)创建的模板,您可以使用Jade作为模板语言。默认情况下,Middleman使用ERB(Ruby标准库的一部分)。另一个受欢迎的选择是HAML,但我不确定是否有适合它的JS编译器。
如果你想对JS文件的输出进行非常精细的控制(你在谈论你的问题中的JS客户端应用程序),你甚至可以一起使用Grunt和Middleman。 Grunt将处理资产(你可以在那里进行非常详细的配置),Middleman将处理模板,URL生成和所有其他“默认网站相关”的东西。
答案 1 :(得分:1)
如果您热衷于使用Grunt作为此类构建的基础,您可能希望查看Assemble.io。
这是一个像Middleman这样的静态站点生成器,但它完全(当前)依赖于Grunt任务才能完成它。
我相信Assemble.io的学习曲线比Middleman高很多。它基于Node,而不是Ruby。但是我不相信知道Ruby是为了从Middleman那里获得很多东西。
答案 2 :(得分:0)
您可以查看http://wintersmith.io/静态页面生成器,如Jekill或MiddleMan(我真的不知道这个) 使用Grunt,您可以获得较低级别的内容:Grunt为您提供自动化任务,因此您必须找到或编写符合您需求的任务。