为了构建静态网页来服务于交互式新闻应用程序(大多数是使用D3编写脚本或使用Bootstrap.js构建的轻量级应用程序编写的数据可视化文件),是否值得花费精力安装和配置诸如Middleman或Grunt.js之类的构建系统?
我问的原因是因为我对Ruby和Ruby Gems完全不熟悉,并且现在没有时间和意愿深入研究它,因为我已经非常了解Python和Javascript。
我需要了解Ruby才能有效地使用Middleman吗?还是应该只使用Grunt?我之所以问是因为我想一遍又一遍地重复使用相同的模板,并且听说使用Middleman很容易。
最佳答案
Middleman和Grunt之间有明显的区别。
Grunt是通用任务运行程序,而Middleman是静态站点生成器。
例如,将使用Middleman来创建具有多个URL的站点。您将一些文件放在一个文件夹中,然后Middleman负责安排它们,为URL创建子文件夹,渲染布局,压缩资产,最后,您有一堆代表该站点的文件。所有这些都是内置的。
您不一定需要了解很多Ruby才能开始使用Middleman,但是要充分利用它,了解它的工作原理并根据您的需要更改配置,关键的Ruby知识是关键。
另一方面,咕unt声通过使用插件并告诉他们确切的操作来起作用。默认情况下,它不执行任何操作。您可以将Grunt视为“框架”,可以随时添加任务。压缩这两个css文件。合并这些JS文件并将主题移到此处。像这样的东西。
为了建立一个完整的网站,我建议使用Middleman。为了能够使用以另一种语言(如JS)创建的模板,可以将Jade用作模板语言。默认情况下,Middleman使用ERB(Ruby标准库的一部分)。另一个流行的选择是HAML,但是我不确定是否有不错的JS编译器。
如果您想对JS文件的输出进行非常细粒度的控制(您在谈论的是JS客户端应用程序),甚至可以一起使用Grunt和Middleman。 Grunt将负责这些资产(您可以在其中进行非常详细的配置),而Middleman将处理模板,URL生成以及所有其他“默认网站相关”的东西。