Universal fetch() polyfill (FastBoot and browser) for Ember apps

Downloads in past


0.3.17 years ago8 years agoMinified + gzip package size for ember-network in KB


Ember Network provides low-level networking primitives that work both in the browser and in Node.js via FastBootfastboot.


In your Ember app or addon, run:
  • ember install ember-network


Currently, Ember Network implements the WHATWG Fetchwhatwg-fetch standard. Other standards may be implemented in the future.


import Route from "ember-route";
import fetch from "ember-network/fetch";

export default Route.extend({
  model() {
    return fetch('https://api.github.com/users/tomdale/events')
      .then(function(response) {
        return response.json();

For more information on using fetch(), see:

To see a very simple example app using FastBoot and Ember Network, see:

How It Works

At build time, Ember Network detects if the build target is FastBoot or the browser. For FastBoot, it swaps in the node-fetchnode-fetch library. For the browser, it swaps in GitHub's fetch polyfillgithub-fetch. (The browser polyfill will use the native window.fetch() if available.) The appropriate version will appear in your vendor.js file.
If you'd like to write an Ember addon that does something similar, please see the annotated index.js file.