ember-network

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

Downloads in past

Stats

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

Readme

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

Installation

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

Usage

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

Fetch

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.