如何解决无法预渲染角度项目角度版本 7
为了加快 angular 站点的速度,我尝试在此 blog 之后实现预渲染(使用 angular 版本 5)。一切正常,但我无法正确更改 angular-cli.json 中的更改。所以我无法创建 dist-prerender/main.bundle.js。我被困在标题为“让 Angular CLI 知道并生成包”的博客中。此外,在运行 cmd 'ng build --prod && ng build --prod --app prerender --output-hashing=none' 时,我收到错误消息为“未知选项:'--app'”。
任何人都可以在这里帮助/建议我如何继续。
代码:
angular.json 文件
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json","version": 1,"newProjectRoot": "projects","projects": {
"siwiv2": {
"root": "","sourceRoot": "src","projectType": "application","prefix": "app","schematics": {},"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser","options": {
"outputPath": "dist/siwiv2","index": "src/index.html","main": "src/main.ts","polyfills": "src/polyfills.ts","tsConfig": "src/tsconfig.app.json","assets": [
"src/favicon.ico","src/assets","src/manifest.json"
],"styles": [
"src/styles.scss","node_modules/swiper/dist/css/swiper.css","node_modules/select2/dist/css/select2.min.css"
],"scripts": [
"node_modules/jquery/dist/jquery.js","node_modules/select2/dist/js/select2.full.js","src/assets/js/detectbrowser.js","node_modules/swiper/dist/js/swiper.js","src/assets/js/lightgallery.min.js","src/assets/js/lg-video.min.js","src/assets/js/lg-thumbnail.min.js","src/assets/js/froogaloop2.min.js","src/assets/js/lg-zoom.min.js","src/assets/js/masonry.pkgd.min.js","src/assets/js/imagesloaded.pkgd.min.js"
],"es5BrowserSupport": true
},"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts","with": "src/environments/environment.prod.ts"
}
],"optimization": true,"outputHashing": "all","sourceMap": false,"extractCss": true,"namedChunks": false,"aot": true,"extractLicenses": true,"vendorChunk": false,"buildOptimizer": true,"budgets": [
{
"type": "initial","maximumWarning": "100mb","maximumError": "100mb"
}
],// "serviceWorker": true,// "ngswConfigPath": "src/ngsw-config.json"
}
}
},"serve": {
"builder": "@angular-devkit/build-angular:dev-server","options": {
"browserTarget": "siwiv2:build"
},"configurations": {
"production": {
"browserTarget": "siwiv2:build:production"
}
}
},"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n","options": {
"browserTarget": "siwiv2:build"
}
},"test": {
"builder": "@angular-devkit/build-angular:karma","options": {
"main": "src/test.ts","tsConfig": "src/tsconfig.spec.json","karmaConfig": "src/karma.conf.js","src/manifest.json"
]
}
},"lint": {
"builder": "@angular-devkit/build-angular:tslint","options": {
"tsConfig": [
"src/tsconfig.app.json","src/tsconfig.spec.json"
],"exclude": [
"**/node_modules/**"
]
}
}
}
},"prerender": {
"root": "src","architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser","options": {
"outputPath": "dist-prerender","main": "main.prerender.ts","tsConfig": "tsconfig.prerender.json"
},"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts","with": "src/environments/environment.prod.ts"
}
],}
}
}
}
},"siwiv2-e2e": {
"root": "e2e/","prefix": "","architect": {
"e2e": {
"builder": "@angular-devkit/build-angular:protractor","options": {
"protractorConfig": "e2e/protractor.conf.js","devServerTarget": "siwiv2:serve"
},"configurations": {
"production": {
"devServerTarget": "siwiv2:serve:production"
}
}
},"options": {
"tsConfig": "e2e/tsconfig.e2e.json","exclude": [
"**/node_modules/**"
]
}
}
}
}
},"defaultProject": "siwiv2"
}
package.json 文件
{
"name": "siwiv2","version": "0.0.0","scripts": {
"ng": "ng","start": "ng serve","build": "ng build --prod && ng build --prod --app prerender --output-hashing=none","postbuild": "npm run render","render": "ts-node prerender.ts","test": "ng test","lint": "ng lint","e2e": "ng e2e"
},"private": true,"dependencies": {
"@angular-devkit/build-angular": "^0.13.10","@angular/animations": "^7.2.16","@angular/common": "^7.2.16","@angular/compiler": "^7.2.16","@angular/core": "^7.2.16","@angular/forms": "^7.2.16","@angular/http": "^7.2.16","@angular/platform-browser": "^7.2.16","@angular/platform-browser-dynamic": "^7.2.16","@angular/pwa": "^0.12.4","@angular/router": "^7.2.16","@ng-bootstrap/ng-bootstrap": "^4.2.2","@types/jquery": "^3.3.34","@types/waypoints": "^4.0.2","bootstrap": "^4.4.1","core-js": "^2.6.11","countup.js-angular2": "^7.3.0","crypto-js": "^3.3.0","datebook": "^4.1.5","guid-typescript": "^1.0.9","lg-autoplay.js": "^1.0.0","lg-fullscreen.js": "^1.1.0","lg-thumbnail.js": "^1.1.0","lg-video.js": "^1.0.0","lightgallery.js": "^1.1.3","ng-bootstrap-form-validation": "^4.0.0","ng-in-viewport": "^6.0.3","ng-lazyload-image": "^5.1.2","ng-recaptcha": "^5.0.0","ng2-select2": "^1.0.0-beta.16","ngx-device-detector": "^1.4.1","ngx-dropzone": "^1.2.0","ngx-dropzone-wrapper": "^7.2.1","ngx-masonry": "^1.1.4","ngx-swiper-wrapper": "^7.2.1","node-sass": "^4.13.1","popper.js": "^1.16.1","rxjs": "^6.5.5","rxjs-compat": "^6.5.5","select2": "^4.0.13","smoothscroll-polyfill": "^0.4.4","tslib": "^1.11.1","zone.js": "~0.8.26"
},"devDependencies": {
"@angular/cli": "^7.3.10","@angular/compiler-cli": "^7.2.16","@angular/language-service": "^7.2.16","@angular/platform-server": "^11.2.5","@types/jasmine": "~2.8.8","@types/jasminewd2": "^2.0.8","@types/node": "~8.9.4","codelyzer": "~4.5.0","jasmine-core": "~2.99.1","jasmine-spec-reporter": "~4.2.1","jquery": "^3.4.1","karma": "~4.0.0","karma-chrome-launcher": "~2.2.0","karma-coverage-istanbul-reporter": "^2.1.1","karma-jasmine": "~1.1.2","karma-jasmine-html-reporter": "^0.2.2","protractor": "^5.4.3","ts-node": "~7.0.0","tslint": "~5.11.0","typescript": "~3.2.2"
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。