Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 58dda80

Browse files
author
borysn
committed
use new @angularclass/hmr
1 parent 52ef354 commit 58dda80

File tree

6 files changed

+93
-19
lines changed

6 files changed

+93
-19
lines changed

‎frontend/package.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "spring-boot-angular2",
33
"description": "Spring Boot backend, Angular2 frontend with Webpack, Typescript, Sass, Bootstrap4, Karma, Jasmine",
44
"private": true,
5-
"version": "1.1.0",
5+
"version": "1.0.3",
66
"license": "MIT",
77
"scripts": {
88
"postinstall": "node scripts/fixBootstrapLoader.js",
@@ -63,7 +63,8 @@
6363
"@types/node": "^7.0.8",
6464
"@types/source-map": "^0.5.0",
6565
"@types/webpack": "^2.2.11",
66-
"angular2-hmr": "~0.8.1",
66+
"@angularclass/hmr": "^1.2.2",
67+
"@angularclass/hmr-loader": "^3.0.1",
6768
"angular2-template-loader": "^0.6.2",
6869
"autoprefixer": "^6.7.6",
6970
"awesome-typescript-loader": "3.1.2",

‎frontend/scripts/fixBootstrapLoader.js‎

100644100755
File mode changed.

‎frontend/src/app/environment.ts‎

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// Angular 2
2+
import {
3+
enableDebugTools,
4+
disableDebugTools
5+
} from '@angular/platform-browser';
6+
import {
7+
ApplicationRef,
8+
enableProdMode
9+
} from '@angular/core';
10+
// Environment Providers
11+
let PROVIDERS: any[] = [
12+
// common env directives
13+
];
14+
15+
// Angular debug tools in the dev console
16+
// https://github.com/angular/angular/blob/86405345b781a9dc2438c0fbe3e9409245647019/TOOLS_JS.md
17+
let _decorateModuleRef = <T>(value: T): T => { return value; };
18+
19+
if ('production' === ENV) {
20+
enableProdMode();
21+
22+
// Production
23+
_decorateModuleRef = (modRef: any) => {
24+
disableDebugTools();
25+
26+
return modRef;
27+
};
28+
29+
PROVIDERS = [
30+
...PROVIDERS,
31+
// custom providers in production
32+
];
33+
34+
} else {
35+
36+
_decorateModuleRef = (modRef: any) => {
37+
const appRef = modRef.injector.get(ApplicationRef);
38+
const cmpRef = appRef.components[0];
39+
40+
let _ng = (<any> window).ng;
41+
enableDebugTools(cmpRef);
42+
(<any> window).ng.probe = _ng.probe;
43+
(<any> window).ng.coreTokens = _ng.coreTokens;
44+
return modRef;
45+
};
46+
47+
// Development
48+
PROVIDERS = [
49+
...PROVIDERS,
50+
// custom providers in development
51+
];
52+
53+
}
54+
55+
export const decorateModuleRef = _decorateModuleRef;
56+
57+
export const ENV_PROVIDERS = [
58+
...PROVIDERS
59+
];
60+

‎frontend/src/main.ts‎

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
11
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
2-
2+
import { bootloader } from '@angularclass/hmr';
3+
import { decorateModuleRef } from './app/environment';
34
import {AppModule} from './app/app.module';
45

5-
export function main(initialHmrState?: any): Promise<any> {
6-
return platformBrowserDynamic().bootstrapModule(AppModule)
7-
.catch(err => console.error(err));
6+
export function main(): Promise<any> {
7+
return platformBrowserDynamic()
8+
.bootstrapModule(AppModule)
9+
.then(decorateModuleRef)
10+
.catch((err) => console.error(err));
811
}
912

10-
/*
11-
* Hot Module Reload
12-
* experimental version by @gdi2290
13-
*/
14-
if ( ENV === 'development' && HMR === true) {
15-
// activate hot module reload
16-
let ngHmr = require('angular2-hmr');
17-
ngHmr.hotModuleReplacement(main, module);
18-
} else {
19-
// bootstrap when document is ready
20-
document.addEventListener('DOMContentLoaded', () => main());
21-
}
13+
bootloader(main);

‎frontend/src/vendor.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ if (ENV === 'production') {
1717
// prod
1818
} else {
1919
// dev
20-
require('angular2-hmr');
20+
require('@angularclass/hmr');
2121
}

‎vendor.ts‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// angular2
2+
import '@angular/platform-browser';
3+
import '@angular/platform-browser-dynamic';
4+
import '@angular/core';
5+
import '@angular/common';
6+
import '@angular/forms';
7+
import '@angular/http';
8+
import '@angular/router';
9+
10+
import 'rxjs';
11+
import 'jquery';
12+
import 'bootstrap-loader';
13+
import 'font-awesome-sass-loader';
14+
import 'lodash';
15+
16+
if (ENV === 'production') {
17+
// prod
18+
} else {
19+
// dev
20+
require('@angularclass/hmr');
21+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /