Getting the emberjs starter-kit to work with coffeescript

coffeescript, ember.js

Solution

from coffeescript.org

The usual caveats about CoffeeScript apply — your inline scripts will run within a closure wrapper, so if you want to expose global variables or functions, attach them to the window object.

your coffeescript should look something like this:

<script type="text/coffeescript">
    window.App = App = Em.Application.create()

    App.MyView = Em.View.extend(
      mouseDown: -> window.alert "hello world!"
    )​
</script>

see here for a fiddle

Problem

i'm trying to get the starter-kit example of ember.js to work directly with an app written in coffeescript (with the use of http://coffeescript.org/extras/coffee-script.js). I want to use this in an development environment, without the need to convert the coffescript to javascript first (manually or with tools like jitter). Basically i just replaced the line ``` <script src="js/app.js"></script> ``` with the lines ``` <script src="js/libs/coffee-script-1.3.3.min.js"></script> <script type="text/coffeescript" src="coffee/app.coffee"></script> ``` in the index.html All changes i've made can be found in my fork on github at https://github.com/GordonSchmidt/starter-kit The coffescript itself seems to be fine, because when i convert it to javascript first the starter-kit application works with this javascript. But when i use the coffeescript directly it throws the error "assertion failed: Unable to find view at path 'App.MyView'" in line 45 of ember-0.9.8.1.js. The coffee-script.js all by itself seems to work as well (see demo.html). So it has to be a conflict between ember.js and coffee-script.js. But I'm not able to find this error. Can someone please point me in the right direction?

Original source