Skip to main content

Popular posts from this blog

Automatic Handlebars template compilation in WebStorm

Using WebStorm with EmberJS, I needed to precompile my Handlebars templates on the go. The Handlebars precompiler works, but using it with EmberJS requires some additional modifications, and getting it to work with directories seemed to be a bit problematic(a wildcard File Watchers issue in WebStorm). I tried to install Ember-Precompile but, being currently on Windows, I gave up because of node-gyp.js rebuild issues. Eventually I found the excellent ember-template-compiler module that did the trick for me.
Setup There are a couple of dependencies that needs to be installed to get this to work:

WebStorm and NodeJS of course.EmberJS - this is not actually a dependency, but definitely a requirement.Handlebars@1.1 - an ember-template-compiler dependency.Walk - used to traverse the directories where the templates are situated. My template file structure looks like the following:

I needed to compile those templates into a single templates.js file to be included in my project. To do that I …

EmberJS development using the esapiserver

I started out using the fixture and local storage adapters in EmberJS, but experienced that the limitations that these adapters have, would turn out be a pain later when it was time to release my app - I wanted to make sure that what I test, was consistant with what I would release, hence the esapiserver. InstallationInstall the gem $ gem install esapiserver Start up your mongoDB server $ mongoD Start the Ember Sinatra/MongoDB API server $ easapiserver EmberJS To get EmberJS and the esapiserver to play together, we need to configure our RESTAdapter App.ApplicationAdapter = DS.RESTAdapter.extend namespace: 'api' host: '' corsWithCredentials: true Because we are using an "external server", we have to enable CORS support in EmberJS. (more about that here) Now, lets assume that we have the following model setup in EmberJS: App.Post = DS.Model.extend content: DS.attr('string') comments: DS.hasMany(&#…