我在https://github.com/edymtt/csscss-from-ironruby实现了一个简单的概念证明,它在控制台应用程序中显示如何使用 IronRuby 运行源代码csscss
来分析从文件加载的 CSS。为了达到这个结果,我从这个SO question开始——你可以在程序的评论中找到我使用的其他资源。我没有在 ASP.net MVC 站点中尝试过这段代码——无论如何,这个示例应该是一个很好的起点。
此解决方案维护起来有点麻烦,因为您必须手动将csscss
及其依赖库的源代码放入解决方案中。另一种解决方案是在机器上安装 Ruby,csscss
使用安装gem
(因此它会自动下载依赖项)并从 .NET 调用程序——我还将在示例中展示这种方法。请注意,此解决方案要求您可以在 Web 服务器上安装 Ruby。
更新 2013-09-02 18:15 UTC根据 Zach Moazeni 的建议,我已经能够简化使用 IronRuby 运行的方法,csscss
并且我已经相应地更新了概念证明。简而言之:
- 在 .NET 程序之外,我使用 bundler 下载
csscss
和json
(和依赖的 gem)到项目的本地文件夹;
- 在 .NET 程序中,我编写了一个函数来发现由创建的 gem 文件夹中库的所有路径
bundler
(通过查找gems
文件夹,然后为每个子文件夹包含该lib
文件夹,该算法受到此 SO 线程的启发);
- 在启动之前,我已将此路径列表传递给 IronRuby 解释器
csscss
。
这种方法应该结合仅使用 .NET 来运行程序的能力,以及由gem
和提供的易于更新bundler
。