刚开始探索 Meteor,马上我就有了一些让我陷入困境的东西:
1)我安装并运行meteor add coffeescript
。
2) 我将 myapp.js 文件转换为 .coffee。
3)我保存了文件。
此时,Meteor 通过编译 coffeescript 文件生成一个新的 myapp.js 文件。好吧,这似乎合乎逻辑。
4)我跑了meteor
。我在 处看到该应用程序localhost:3000
,但是如果我按下按钮,则按钮单击事件会触发两次:一次来自myapp.js
,一次来自myapp.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>')
当我单击按钮时,添加了两个 div。
现在,如果我删除编译的myapp.js
文件,“你按下按钮”只会触发一次,并且只有一个 div 附加到页面。但是,如果我保存 .coffee 文件,每次都会生成一个新的 .js 文件,现在所有 JS 都会执行两次。
您应该如何将 CoffeeScript 与 Meteor 一起使用,以便您的代码只执行一次?