Frontend Developer @ 7 Peaks
Creator of DevNote
<!-- index.html -->
<html lang="en">
<head>
...
<body>
<app-root></app-root>
<script src="runtime-es2015.703a23e48ad83c851e49.js" type="module"></script>
<script src="polyfills-es2015.4d31cca2afc45cfd85b5.js" type="module"></script>
<script src="runtime-es5.465c2333d355155ec5f3.js" nomodule></script>
<script src="polyfills-es5.03d8c9fc4ed8e610412b.js" nomodule></script>
<script src="main-es2015.d9cfd421ee91de34ed51.js" type="module"></script>
<script src="main-es5.4ecf9d7dfdcd907079da.js" nomodule></script></body>
</html>with
{
path: '/admin', loadChildren: './admin/admin.module#AdminModule'
}{
path: `/admin`, loadChildren: () =>
import(`./admin/admin.module`).then(m => m.AdminModule)
}// angular.json
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
...
},
...
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
...
},
...
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
...
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
...
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
...
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
...
},
...
}
}// angular.json
"my-app": {
...
"architect": {
...
"test": {
"builder": "@nrwl/jest:jest",
"options": {
...
}
},
...
},
...
},
"my-app-e2e": {
...
"architect": {
...
"e2e": {
"builder": "@nrwl/cypress:cypress",
"options": {
...
}
},
...
}
},// angular.json
...
"deploy": {
"builder": "@angular/fire:deploy",
"options": {}
}
...$ ng add @angular/fire
$ ng run my-app:deploy// my-worker.worker.ts
addEventListener('message', ({ data }) => {
// you can add some calculation logic here
const response = `worker response to ${data}`;
postMessage(response);
});$ ng generate web-worker my-workerif (typeof Worker !== 'undefined') {
// Create a new worker
const worker = new Worker('./my-worker.worker', { type: 'module' });
worker.onmessage = ({ data }) => {
// get the result from worker
console.log(`page got message: ${data}`);
};
// post message to worker
worker.postMessage('hello');
} else {
// Web Workers are not supported in this environment.
// You should add a fallback so that your program still executes correctly.
}// tsconfig.app.json
{
"compilerOptions": { ... },
"angularCompilerOptions": {
"enableIvy": true
}
}$ ng new ng8-ivy --enable-ivy$ npm install -g @angular/bazel
$ ng new --collection=@angular/bazel$ ng add @angular/bazelCredit: https://blog.angular.io/try-bazels-opt-in-preview-in-angular-cli-b9430bd00e82
// angular.json
"projects": {
"my-app": {
...
"architect": {
"build": {
"builder": "@angular/bazel:build",
...
},
"serve": {
"builder": "@angular/bazel:build",
...
},
...
"test": {
"builder": "@angular/bazel:build",
...
},
...
"e2e": {
"builder": "@angular/bazel:build",
...
}
}
}},Credit: https://www.youtube.com/watch?v=J1lnp-nU4wM
export class ShellComponent implements OnInit {
@ViewChild('sidenav', { static: true }) sidenav;
...
}