angular2-hmr

angular2-hmr: Hot Module Replacement for Webpack and Angular 2

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
angular2-hmr
0.8.18 years ago8 years agoMinified + gzip package size for angular2-hmr in KB

Readme

Angular 2 Hot Module Replacement
Angular2-HMR

This module requires Angular 2.0.0-rc.1 or higher. Please see repository Angular 2 Webpack Starter for a working example.
main.browser.ts
function main(initialHMRstate) {
  // you must return
  return bootstrap(App, []);
}
/*
 * Hot Module Reload
 * experimental version by @gdi2290
 */
if (isDevelopment) {
  // activate hot module reload
  let ngHmr = require('angular2-hmr');
  ngHmr.hotModuleReplacement(main, module); // pass the main function
} else {
  // bootstrap when document is ready
  document.addEventListener('DOMContentLoaded', () => main());
}
app.service.ts
import {HmrState} from 'angular2-hmr';

export class AppState {
  // @HmrState() is used by HMR to track the state of any object during a hot module replacement
  @HmrState() _state = { };
}

app.component.ts
import {HmrState} from 'angular2-hmr';
@Component({ /*... */ })
export class App {

  @HmrState() localState = {};
    
}

In production set NODE_ENV to "production" to noop HmrState or strip it from your code
new NormalModuleReplacementPlugin(
  /angular2-hmr/,
  path.join(__dirname, 'node_modules', 'angular2-hmr', 'prod.js')
),


enjoy — AngularClass



AngularClass

AngularClass

Learn AngularJS, Angular 2, and Modern Web Development from the best. Looking for corporate Angular training, want to host us, or Angular consulting? patrick@angularclass.com