如何在Sinatra上使用coffeescript
|
我正在尝试使Coffeescript与Sinatra一起工作。我对这两种技术都是新手,所以这可能很愚蠢。我的问题似乎是将coffeescript编译为javascript,但没有在页面上执行,而是显示为html。
#sinatra app
require \'coffee-script\'
get \"/test.js\" do
coffee :hello
end
#hello.coffee
alert \"hello world\"
#My page (/test.js) doesn\'t execute the js - just displays the code
#On screen in the browser I get this:
(function() {
alert(\"hello world\");
}).call(this);
#In the HTML I get this within the body tags
<pre style=\"word-wrap: break-word; white-space: pre-wrap;\">(function() {
alert(\'hello world!\');
}).call(this);
</pre>
没有找到相关结果
已邀请:
4 个回复
诞胃
文件作为HTML提供,并相应地对其进行了预处理。您是否有可能在应用程序的其他位置设置
?尝试将代码更改为
您还可以尝试使用一种完全不同的方法,使用Rack :: Coffee或Barista在Rack级别自动将CoffeeScript编译为JavaScript。如果您仍然有大量的CoffeeScript文件,那可能会更容易。 编辑:发布以上内容后,令我震惊的是,我可能只是误解了您的标记。在浏览器中加载页面
时看到的就是
?如果是这样,则一切正常。仅当JavaScript代码位于
标记之间或通过
引用的HTML页面中时,它才会在浏览器中运行。因此,除了您现有的代码外,
然后在浏览器中打开该“ 9”地址,脚本应运行。
镶骄册筷
然后在application.coffee中
索引
布局
傻寺俊擒
时在我的CoffeeScript文件上设置观察程序,然后将编译后的JS文件部署到生产环境中。它不是理想的,但是在某些方面却不太复杂,并且从生产服务器(在我的情况下为Heroku)中删除了对Node.JS的依赖。
荒劫娇噬