Browse Source

feat: seperate 3th party css files from initial bundle

pull/1858/head
mehmet-erim 7 years ago
parent
commit
ac71b2fc6f
  1. 1
      npm/ng-packs/.gitignore
  2. 25
      npm/ng-packs/angular.json
  3. 18
      npm/ng-packs/apps/dev-app/src/app/app.component.ts
  4. 52
      templates/app/angular/angular.json
  5. 18
      templates/app/angular/src/app/app.component.ts

1
npm/ng-packs/.gitignore

@ -3,6 +3,7 @@
# compiled output # compiled output
/tmp /tmp
/out-tsc /out-tsc
/dist/dev-app
# Only exists if Bazel was run # Only exists if Bazel was run
/bazel-out /bazel-out

25
npm/ng-packs/angular.json

@ -434,13 +434,30 @@
"tsConfig": "apps/dev-app/tsconfig.app.json", "tsConfig": "apps/dev-app/tsconfig.app.json",
"aot": false, "aot": false,
"assets": ["apps/dev-app/src/favicon.ico", "apps/dev-app/src/assets"], "assets": ["apps/dev-app/src/favicon.ico", "apps/dev-app/src/assets"],
"extractCss": true,
"styles": [ "styles": [
"apps/dev-app/src/styles.scss", "apps/dev-app/src/styles.scss",
"node_modules/bootstrap/dist/css/bootstrap.min.css", "node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/font-awesome/css/font-awesome.min.css", {
"node_modules/primeng/resources/themes/nova-light/theme.css", "input": "node_modules/font-awesome/css/font-awesome.min.css",
"node_modules/primeicons/primeicons.css", "lazy": true,
"node_modules/primeng/resources/primeng.min.css" "bundleName": "font-awesome.min"
},
{
"input": "node_modules/primeng/resources/themes/nova-light/theme.css",
"lazy": true,
"bundleName": "primeng-nova-light-theme"
},
{
"input": "node_modules/primeicons/primeicons.css",
"lazy": true,
"bundleName": "primeicons"
},
{
"input": "node_modules/primeng/resources/primeng.min.css",
"lazy": true,
"bundleName": "primeng.min"
}
], ],
"scripts": [] "scripts": []
}, },

18
npm/ng-packs/apps/dev-app/src/app/app.component.ts

@ -1,4 +1,5 @@
import { Component } from '@angular/core'; import { LazyLoadService } from '@abp/ng.core';
import { Component, OnInit } from '@angular/core';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
@ -7,4 +8,17 @@ import { Component } from '@angular/core';
<router-outlet></router-outlet> <router-outlet></router-outlet>
`, `,
}) })
export class AppComponent {} export class AppComponent implements OnInit {
constructor(private lazyLoadService: LazyLoadService) {}
ngOnInit() {
this.lazyLoadService
.load(
['primeng.min.css', 'primeicons.css', 'primeng-nova-light-theme.css', 'font-awesome.min.css'],
'style',
null,
'head',
)
.subscribe();
}
}

52
templates/app/angular/angular.json

@ -23,17 +23,31 @@
"polyfills": "src/polyfills.ts", "polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json", "tsConfig": "tsconfig.app.json",
"aot": false, "aot": false,
"assets": [ "extractCss": true,
"src/favicon.ico", "assets": ["src/favicon.ico", "src/assets"],
"src/assets"
],
"styles": [ "styles": [
"src/styles.scss", "src/styles.scss",
"node_modules/bootstrap/dist/css/bootstrap.min.css", "node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/font-awesome/css/font-awesome.min.css", {
"node_modules/primeng/resources/themes/nova-light/theme.css", "input": "node_modules/font-awesome/css/font-awesome.min.css",
"node_modules/primeicons/primeicons.css", "lazy": true,
"node_modules/primeng/resources/primeng.min.css" "bundleName": "font-awesome.min"
},
{
"input": "node_modules/primeng/resources/themes/nova-light/theme.css",
"lazy": true,
"bundleName": "primeng-nova-light-theme"
},
{
"input": "node_modules/primeicons/primeicons.css",
"lazy": true,
"bundleName": "primeicons"
},
{
"input": "node_modules/primeng/resources/primeng.min.css",
"lazy": true,
"bundleName": "primeng.min"
}
], ],
"scripts": [] "scripts": []
}, },
@ -100,10 +114,7 @@
"polyfills": "src/polyfills.ts", "polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json", "tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js", "karmaConfig": "karma.conf.js",
"assets": [ "assets": ["src/favicon.ico", "src/assets"],
"src/favicon.ico",
"src/assets"
],
"styles": [ "styles": [
"src/styles.scss", "src/styles.scss",
"node_modules/bootstrap/dist/css/bootstrap.min.css", "node_modules/bootstrap/dist/css/bootstrap.min.css",
@ -118,14 +129,8 @@
"lint": { "lint": {
"builder": "@angular-devkit/build-angular:tslint", "builder": "@angular-devkit/build-angular:tslint",
"options": { "options": {
"tsConfig": [ "tsConfig": ["tsconfig.app.json", "tsconfig.spec.json", "e2e/tsconfig.json"],
"tsconfig.app.json", "exclude": ["**/node_modules/**"]
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
]
} }
}, },
"e2e": { "e2e": {
@ -143,8 +148,5 @@
} }
} }
}, },
"defaultProject": "myProjectName", "defaultProject": "myProjectName"
"cli": { }
"analytics": "07ef29be-2b85-4919-9f78-44994f63b8b7"
}
}

18
templates/app/angular/src/app/app.component.ts

@ -1,4 +1,5 @@
import { Component } from '@angular/core'; import { LazyLoadService } from '@abp/ng.core';
import { Component, OnInit } from '@angular/core';
@Component({ @Component({
selector: 'app-root', selector: 'app-root',
@ -7,4 +8,17 @@ import { Component } from '@angular/core';
<router-outlet></router-outlet> <router-outlet></router-outlet>
`, `,
}) })
export class AppComponent {} export class AppComponent implements OnInit {
constructor(private lazyLoadService: LazyLoadService) {}
ngOnInit() {
this.lazyLoadService
.load(
['primeng.min.css', 'primeicons.css', 'primeng-nova-light-theme.css', 'font-awesome.min.css'],
'style',
null,
'head',
)
.subscribe();
}
}

Loading…
Cancel
Save