2

Meteor の探索を始めたばかりですが、すぐにループに陥る何かがあります。

1)インストールして実行しましmeteor add coffeescriptた。

2) myapp.js ファイルを .coffee に変換しました。

3) ファイルを保存しました。

この時点で、Meteor は coffeescript ファイルをコンパイルして、新しい myapp.js ファイルを生成します。わかりました、それは論理的に思えます。

4) 私は走っmeteorた。にアプリが表示されlocalhost:3000ますが、ボタンを押すと、ボタン クリック イベントが 2 回発生myapp.jsmyapp.coffeeます。

テストを確認するために、これを追加しました:

Template.hello.events "click input": ->
  # template data, if any, is available in 'this'
  console.log "You pressed the button"  if typeof console isnt "undefined"
  $('body').append('<div>test</div>')

ボタンをクリックすると、2 つの div が追加されます。

ここで、コンパイルされたmyapp.jsファイルを削除すると、「ボタンを押しました」は 1 回だけ起動し、1 つの div のみがページに追加されます。ただし、.coffee ファイルを保存すると、毎回新しい .js ファイルが生成され、すべての JS が 2 回実行されます。

コードが 1 回だけ実行されるように、Meteor で CoffeeScript を使用するにはどうすればよいでしょうか?

4

3 に答える 3

0

そのため、実行meteor remove coffeescriptmeteor add coffeescriptたところ、期待どおりに動作し、ファイルが重複することはありません。ちょっと奇妙ですが、少なくとも機能しています!

于 2013-09-19T02:29:44.913 に答える
0

myapp.jsもう一方が というファイルからスローされたことが確実な場合は、元の を削除していない可能性があります。myapp.js

coffeescript でコンパイルされた js ファイルは、myapp.coffee.js(chrome の Web インスペクタでのみ確認できます) である必要があります。

また、これらのコンパイル済み js ファイルがプロジェクト ディレクトリに表示されていないはずです。保存したときにそこにある場合、.coffeeそれらは他のファイルであり、おそらくコード ide からの不正なファイルです。

Meteor は coffeescript を js にコンパイルしますが、隠しディレクトリの一時ディレクトリで行い.meteorます。coffeescript meteor を使用している場合は、JavaScript であるかのようにエクスペリエンスを意図しているため、余分なファイルが表示されることはありません。

于 2013-09-17T05:48:23.060 に答える