我试图搜索是否可以在我的 windows7 机器上安装 eruby,但找不到任何东西。我可以找到如何在 apache 上安装它。但我想把它安装在我的win7机器上。
我希望我可以通过将它嵌入 HTML 来使用它,就像我们在 HTML 中嵌入 vbscript 并打开 html 页面一样。我在正确的道路上吗?
我试图搜索是否可以在我的 windows7 机器上安装 eruby,但找不到任何东西。我可以找到如何在 apache 上安装它。但我想把它安装在我的win7机器上。
我希望我可以通过将它嵌入 HTML 来使用它,就像我们在 HTML 中嵌入 vbscript 并打开 html 页面一样。我在正确的道路上吗?
听起来您并不完全了解 eRuby 的工作原理,所以让我澄清一下:
当您使用 Web 浏览器在计算机上打开 HTML 文件时,Web 浏览器会从磁盘读取文件的字节,将其解释为 HTML 文档,并相应地显示它。Web 浏览器可以理解 HTML(以及 JavaScript 和 CSS)。
诸如 ERB/eRuby/Erubis 之类的模板语言使用Ruby编程语言来运行嵌入在网页中的任意代码,并将该代码的结果替换为其生成的文本。最终文本被发送到网络浏览器;浏览器永远不会看到 Ruby 代码,而只会看到 HTML(以及 JavaScript 和 CSS)。
为此,Web 浏览器无法从磁盘打开文件:
file:///C:/Users/Phrogz/Desktop/foo.erb
...而是必须从 Web 服务器(如 Apache)请求文件:
http://localhost/test/foo
该服务器在将修改后的内容发送到浏览器之前运行 eRuby 处理器。
您可以使用 Ruby 制作一个非常简单的 Web 服务器,该服务器使用简单的 Web 框架(例如Sinatra )来处理内容。但是,这仍然需要您在发出请求之前在计算机上启动 Web 服务器进程。
所以,简而言之:
不,您不能“在 Windows 7 上安装 eRuby”,从而使用 Web 浏览器从磁盘打开文件会运行 Ruby 代码。
如果您需要无服务器解决方案,您可能会转而查看客户端模板语言,例如dust.js ,它在Web 浏览器上以 JavaScript 运行,因此可以通过简单file:
协议提供服务。
如果你有服务器,我推荐 Sinatra 和(而不是 ERB)使用Haml作为你的模板语言。