是否可以在html文件中的脚本标签中编译Coffeescript代码?

dav*_*gan 8 html coffeescript

可能重复:
有没有办法送的CoffeeScript到客户端的浏览器,并已将其编译为JavaScript 那里

有没有一种简单的方法来编译内部<script>标签内部的Coffeescript ,或者您通常将所有Coffeescript放在单独的文件中?

And*_*rew 15

的确有.有一个关于它的帖子在这里.

该文章的摘要如下:

  1. 在HTML文档中包含您的脚本类型 text/coffeescript
  2. 包含在页面的这一行的头部:

    <script type="text/javascript" src="https://raw.githubusercontent.com/jashkenas/coffeescript/master/lib/coffee-script/coffee-script.js"></script>
    
    Run Code Online (Sandbox Code Playgroud)

请注意不要鼓励这样做.

<html>

<head>
  <title>In-Browser test</title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript">
  </script>
  <script src="https://raw.githubusercontent.com/jashkenas/coffeescript/master/lib/coffee-script/coffee-script.js" type="text/javascript">
  </script>

</head>

<body>
  <script type="text/coffeescript">
    $ -> $('#header').css 'background-color', 'green'
  </script>
  <h1 style="color:white" id="header">CoffeeScript is alive!</h1>


</body>

</html>
Run Code Online (Sandbox Code Playgroud)


Tre*_*ham 6

回应dvcolgan的澄清评论:

因此,您希望在服务器上拥有一个HTML文件,其内嵌CoffeeScript可以作为带内联JavaScript的HTML提供.CoffeeScript编译器不直接支持这一点,但您可以使用coffee-script库和jsdom编写一个Node脚本来轻松地完成HTML解析.

具体如何实现这将取决于您正在使用的Web框架.您可能不希望CoffeeScript编译器在每个请求上运行(它非常快,但它仍然会减少服务器可以处理的请求数/秒); 相反,您需要编译一次HTML,然后从缓存中提供编译版本.同样,我不知道有任何现有工具可以做到这一点,但编写自己的工具应该不会太难.