2011-10-22 12 views
7

可能性の重複:
Is there a way to send CoffeeScript to the client's browser and have it compiled to JavaScript there?htmlファイルのスクリプトタグでCoffeescriptコードをコンパイルすることはできますか?

HTML内部<script>タグ内でのCoffeeScriptをコンパイルするための簡単な方法はありますか、通常は別々のファイルにすべてのCoffeeScriptを持っているのですか?

+0

アンドリューはすでにそれを釘付けにしていました。参照:http://stackoverflow.com/questions/5170473/is-there-a-way-to-send-coffeescript-to-the-clients-browser-and-have-it-compiled –

+0

私はもっと考えていましたサーバー上のインラインCoffeescriptからJavascriptへのコンパイル。基本的に、Coffeescriptコンパイラをプリプロセッサとして実行し、HTMLを無視する。 – davidscolgan

+1

別のファイルに置くことができない特別な理由はありますか?そうすれば、既存のツールチェーンで作業することができます。さもなければ、@ Trevorのようなものを彼の答えに載せなければならないでしょう。 – Thilo

答えて

6

:だから

、あなたは、インラインのJavaScriptとHTMLを務めますインラインのCoffeeScriptを使用してサーバー上のHTMLファイルを持っていると思います。 CoffeeScriptコンパイラはこれを直接サポートしていませんが、coffee-scriptライブラリとjsdomを使用してHTML解析を実行すると、Nodeスクリプトを簡単に作成できます。

これを実装する方法は、使用しているWebフレームワークによって異なります。おそらくCoffeeScriptコンパイラがすべての要求に対して実行されることは望ましくありません(かなり速いですが、サーバーが処理できる要求数/秒を減らすことになります)。代わりにHTMLを一度コンパイルしてから、コンパイルしたバージョンをキャッシュから提供したいとします。繰り返しますが、私はこれを行う既存のツールについては知らないのですが、独自のツールを書くのは難しいことではありません。

15

実際にあります。それについての投稿がありますhere

<script type="text/javascript" src="https://raw.githubusercontent.com/jashkenas/coffeescript/master/lib/coffee-script/coffee-script.js"></script> 
text/coffeescript
  • は、ページの先頭に次の行を含める

    1. は、HTMLドキュメントタイプを使用してスクリプトを含める

      その記事の概要はこうです

      これを行うことは奨励されないことに注意してください。 dvcolganの解明コメントへの対応

      <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>

  • +0

    Chromeでスニペットが失敗する: 'http://github.com/jashkenas/coffee-script/raw/master/extras/coffee-script.js'からスクリプトを実行することが拒否されました。そのMIMEタイプ( 'text/plain')は、実行可能ではなく、厳密なMIMEタイプチェックが有効になっています。 –

    関連する問題