128bit.io
2^7 bits of goodness!


Yeoman working with APIs

By on

From my last post, I talked about how great Yeoman is. I have found one issue with Yeoman but there is a easy solution. Yeoman comes with its own built-in server which is very convenient, but if you’re working on a application which requires access to an API this becomes an issue due to cross site domain.

For some time I’ve been making a symbolic link of my Yeoman app folder into my Tomcat’s webapp folder which would allow me to access the API running on the same server. Since I am both a back-end and front-end developer, having the set up is not too much of an issue for me. Thinking from a point of view as someone new working on just the front-end of this project, the setup needed is kind of a pain due to a requirement of having the full stack running on your local system.

My solution to this was to setup a local server that could proxy calls to the API. I made a small Node.js server that uses Connect and http-proxy.

Here is the code,

To setup the dependencies in your package.json file add in this,

   "http-proxy": "0.8.x",
   "connect": "2.3.x"

Then run npm install to install them.

If you want to take this one step farther, you can also add this to your package.json

 "scripts": {
    "start": "node server.js"
  }

This will add a command to npm that will let you now run npm start and it will load the server for you.

This cuts down the over head of what I need to run just to work on the front-end code and lets other developers on the team quickly work on the project too. I hope this helps anyone working with Yeoman on apps that need to talk to a API.