Gordon Schmidt
Gordon Schmidt

Reputation: 53

Getting the emberjs starter-kit to work with coffeescript

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?

Upvotes: 4

Views: 1351

Answers (1)

albertjan
albertjan

Reputation: 7817

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

Upvotes: 4

Related Questions