JSPM

  • Created
  • Published
  • Downloads 326
  • Score
    100M100P100Q92437F
  • License ISC

Webpack loader for Hot Module Replacement in Angular 1.x applications.

Package Exports

  • angular-hot-loader

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (angular-hot-loader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Angular Hot Loader

npm version npm

Webpack loader for Hot Module Replacement in Angular 1.x applications.

Now works only with UI Router with a specific app structure shown below.

Forked from Angular-HMR

Webpack setup

  1. Install loader:
  • npm
npm install --save-dev angular-hot-loader
  • yarn
yarn add --dev angular-hot-loader
  1. Add loader to webpack configuration:
  • Webpack 1.x:
loaders: [
  {
    test: /\.js$/,
    loader: 'angular-hot!...other loaders'
  }
]
  • Webpack 2.x:
rules: [
  {
    test: /\.js$/,
    use: [
      'angular-hot-loader',
      // Any other loaders.
    ]
  }
]

With options:

rules: [
  {
    test: /\.js$/,
    use: [
      {
        loader: 'angular-hot-loader',
        options: {
          log: true
        }
      },
      // Any other loaders.
    ]
  }
]

Options

rootElement {String}

Default: [ng-app] Specifies application DOM root element selector.

log {Boolean}

Default: false Enables module output to console.

How it works

This will inject the new controller / template then reload the state in UI Router

Your app structure should be something like:

import MyFactory from './your-factory';
import MyCtrl from './your-controller';
import MyComponent from './your-component';

angular
  .module('my-app', [ui.router])
  .directive('MyDirective', reqire('MyDirective'))
  .factory('MyFactory', MyFactory)
  .controller('MyCtrl', MyCtrl)
  .component('MyComponent', MyComponent);

and you save that the browser should refresh