扩展角度框架类Routeusestrategy时出错



我的问题有两个方面。要解决的错误是,当我使用自定义路由重复使用策略时,当我使用工具来覆盖Angular Router类RouteUsestrategy时,策略不会被触发,而当我使用Extend sending sending tements关键字时,我会得到以下异常,

umsclient:32错误:typeError:对象原型只能是对象或null:未定义 在setPrototypeof() 在___extends(http://localhost:8000/app/umsclient/com/ipc/ipc/ums/modules/shared/customRoutereuse.service.js:8:13) 在评估(http://localhost:8000/app/umsclient/com/ipc/ums/ums/imules/shared/customRoutereuse.service.js:35:17) 在Execute(http://localhost:8000/app/umsclient/com/ipc/ums/ums/模块/shared/customRoutereuse.service.js:54:14) 错误加载http://localhost:8000/app/main.js

import { RouteReuseStrategy,ActivatedRouteSnapshot,DetachedRouteHandler} 
from '@angular/router';
export class CustomRouteReuseStrategy extends RouteReuseStrategy {
shouldDetach(route: ActivatedRouteSnapshot): boolean { return false; }
store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void {}
shouldAttach(route: ActivatedRouteSnapshot): boolean { return false; }
retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle { return null ; }
shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
    console.log("inside shouldReuseRoute...");
  return future.routeConfig === curr.routeConfig ;
}

}

我感觉这与我的汇编和建立策略有关。我使用在Gulp和System JS面前开发的框架。当我将应用程序复制到基于WebPack的Angular CLI时,没有问题,路由策略会正确触发。

我的构建设置的详细信息:

  • 使用Gulp编译

    gulp.task(" compile",()=> { 令tsresult = Gulp.src(" app/**/*。ts") .pipe(sourcemaps.init()) .pipe(tsc(tsproject)); 返回tsresult.js 。 .pipe(gulp.dest(" build/app")); });

  • 包json是

    "依赖项":{"@angular/common":" 〜4.3.1",

    "@angular/编译器":" 〜4.3.1",

    "@angular/core":" 〜4.3.1",

    "@angular/forms":" 〜4.3.1",

    "@angular/http":" 〜4.3.1",

    "@angular/platform-browser":" 〜4.3.1",

    "@angular/platform-browser-dynamic":" 〜4.3.1",

    "@angular/Router":" 〜4.3.1",

    "@angular/升级":" 〜4.3.1",

    "@gangular2-Material/tabs":"^2.0.0-alpha.8-2",

    "@ng-bootstrap/ng-bootstrap":"^1.0.0-alpha.9",

    " angular2 in-memory-web-api":" 0.0.20",

    " bootstrap":"^3.3.6",

    " core-js":"^2.4.1",

    " ng2-bootstrap":"^1.1.16-11",

    " ng2-bs3-modal":"^0.10.4",

    " ng2-datetime-picker":"^0.9.8",

    " ngx-bootstrap":"^2.0.0-beta.8",

    " Reffle-metadata":"^0.1.3",

    " rxjs":"^5.2.0",

    " systemjs":"^0.20.19",

    " tsd":"^0.6.5",

    "下划线":"^1.8.3",

    " Zone.js":"^0.8.5"

    },

    " devDepentencies":{

    "同时":"^3.5.1",

    " del":"^3.0.0",

    " gulp":"^3.9.1",

    " gulp-sourcemaps":"^2.6.1",

    " gulp-tslint":"^8.1.2",

    " gulp-typescript":"^3.2.3",

    " lite-server":"^2.2.2",

    " tslint":" 〜5.8.0",

    "打字稿":" 〜2.6.1",

    "键入":"^2.1.1",

    " ts-node":" 〜3.3.0"

tsconfig.json:

{

"compilerOptions": {
"outDir": "build/app",
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
 "exclude": [
"gulpfile.ts",
"node_modules"

]}

我的具体问题是,我不知道是什么相关的依赖性导致此运行时间异常。有知识湾构建程序的人,请指导我解决问题。

i浏览了堆栈溢出,以解决该异常。每次讨论都表明类层次结构的顺序存在一些问题,就我而言,我正在使用Angular Framework类,该类别在WebPack Angular CLI项目中正常工作。

感谢您的时间。

问题是我的工作区结构。我更新了包装。JSON使用Angular版本4.3.0,然后ran npm安装将其下载到node_modules文件夹。但是Gulp Build是从另一个node_modules文件夹中读取的,它正在读取引起问题的Angular 2版本。当我使用Angular 4版本更新实际的Node_modules文件夹时,CustomRoutereusestrategy开始工作。

谢谢,

相关内容

  • 没有找到相关文章

最新更新