首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展角框架类RouteReuseStrategy时出错

扩展角框架类RouteReuseStrategy时出错
EN

Stack Overflow用户
提问于 2017-11-27 18:44:07
回答 1查看 144关注 0票数 0

我的问题有两个方面。要解决的错误是,当我使用自定义路由重用策略时,当我使用工具覆盖角路由器类RouteReuseStrategy时,该策略不会被触发,当我使用extends关键字时,我得到以下异常,

UMSClient:32 Error: TypeError: Object prototype可能只是一个对象,或者null: undefined at setPrototypeOf () at __extends (http://localhost:8000/app/UMSClient/com/ipc/ums/modules/shared/CustomRouteReuse.service.js:8:13) at eval (http://localhost:8000/app/UMSClient/com/ipc/ums/modules/shared/CustomRouteReuse.service.js:35:17) at execute (http://localhost:8000/app/UMSClient/com/ipc/ums/modules/shared/CustomRouteReuse.service.js:54:14)错误加载http://localhost:8000/app/main.js

代码语言:javascript
复制
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中开发的。当我复制应用程序到webpack的角度cli,没有问题和路由策略被正确触发。

构建设置的详细信息:

  • 使用gulp编译 Gulp.task(“编译”,() => { let tsResult =gulp.src(“app/**/*..ts”).pipe(sourcemaps.init() .pipe(tsc(tsProject));返回tsResult.js .pipe(sourcemaps.write(".",{sourceRoot:‘/app’}) .pipe(gulp.dest("build/app"));});
  • json包裹是, “依赖关系”:{“@角/公共”:"~4.3.1", “@角/编译器”:"~4.3.1", “@角/芯”:"~4.3.1", @角/形“:"~4.3.1", @角/http:"~4.3.1", @角/平台-浏览器“:"~4.3.1", “@角/平台-浏览器-动态”:"~4.3.1", @角/路由器:"~4.3.1", @角/升级:"~4.3.1", “@angular2-资料/标签”:“^2.0.0-字母-8-2”, “@ng-引导/ng-引导”:“^1.0.0-字母9”, “angular2-in-Memory-web”:"0.0.20", “引导”:"^3.3.6", “核心-js”:"^2.4.1", “NG2-引导”:"^1.1.16-11", “NG2-BS3-模态”:"^0.10.4", “NG2-日期选择器”:"^0.9.8", “ngx-引导”:"^2.0.0-beta.8", “反映-元数据”:"^0.1.3", "rxjs":"^5.2.0“ “系统”:"^0.20.19", "tsd":"^0.6.5", 下划线:"^1.8.3", "zone.js":"^0.8.5“ }, "devDependencies":{ “同时”:"^3.5.1", "del":"^3.0.0", “吞咽”:"^3.9.1", “”:"^2.6.1", “吞咽”:"^8.1.2 ", “打字稿”:"^3.2.3", "lite-server":"^2.2.2", "tslint":"~5.8.0", “打字本”:"~2.6.1", “打字”:"^2.1.1", “ts-节点”:"~3.3.0“

tsconfig.json:

{

代码语言:javascript
复制
"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"

]}

我的具体问题是,我不知道是什么相关的依赖导致了这个运行时异常。谁知道吞咽的建立程序,请指导我,以解决问题。

我浏览了堆栈溢出,以解决此异常。每一次讨论都表明,在类层次的顺序上存在一些问题,在我的例子中,我使用的是在webpack角cli项目中100%工作良好的角框架类。

耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

发布于 2017-12-19 20:58:04

问题在于我的工作区结构。我更新了package.json以使用RangVersion4.3.0,并运行npm将其下载到node_modules文件夹中。但是gulp是从另一个node_modules文件夹读取的,它读取的是角2版本,导致了这个问题。当我用角4版本更新实际的node_modules文件夹时,customRouteReuseStrategy就开始工作了。

谢谢,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47517749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档