使用angular-cli时出现以下错误。
Error: Token must be defined!
at new ReflectiveKey (http://localhost:4200/vendor.bundle.js:48893:19) [angular]
at KeyRegistry.get (http://localhost:4200/vendor.bundle.js:48946:39) [angular]
at Function.ReflectiveKey.get (http://localhost:4200/vendor.bundle.js:48911:35) [angular]
at ReflectiveInjector_.get (http://localhost:4200/vendor.bundle.js:117530:102) [angular]
at AppModuleInjector.NgModuleInjector.get (http://localhost:4200/vendor.bundle.js:66988:52) [angular]
at RouterInitializer.appInitializer (http://localhost:4200/vendor.bundle.js:73780:48) [angular]
at new ApplicationInitStatus (http://localhost:4200/vendor.bundle.js:46874:45) [angular]
at AppModuleInjector.createInternal (/AppModule/module.ngfactory.js:424:36) [angular]
at AppModuleInjector.NgModuleInjector.create (http://localhost:4200/vendor.bundle.js:66971:76) [angular]
at NgModuleFactory.create (http://localhost:4200/vendor.bundle.js:66939:18) [angular]
at http://localhost:4200/vendor.bundle.js:47309:61 [angular]
at Object.onInvoke (http://localhost:4200/vendor.bundle.js:37314:37) [angular]
答案 0 :(得分:0)
从工作项目执行新的NPM安装后,我收到了同样的错误。使用“^”检查Package.json文件中的依赖项,例如下面的zone.js。删除“^”以使npm安装指定的版本而不是以后的版本。
然后重新安装node_modules,它应该可以正常工作
"dependencies": {
"@angular/common": "2.4.2",
"@angular/compiler": "2.4.2",
"@angular/core": "2.4.2",
"@angular/forms": "2.4.2",
"@angular/http": "2.4.2",
"@angular/material": "2.0.0-beta.1",
"@angular/platform-browser": "2.4.2",
"@angular/platform-browser-dynamic": "2.4.2",
"@angular/router": "^3.4.2",
"@ngrx/core": "^1.1.0",
"@ngrx/effects": "^2.0.0",
"@ngrx/store": "^2.1.2",
"@ngrx/store-devtools": "^3.2.3",
"core-js": "^2.4.1",
"material-design-icons": "^3.0.1",
"reflect-metadata": "^0.1.3",
"reselect": "^2.5.4",
"rxjs": "5.0.1",
"systemjs": "0.19.27",
"zone.js": "^0.7.2"
答案 1 :(得分:0)
我遇到了同样的错误,花了一个小时才发现我在TestBed上意外使用了错误的变量
click
应该是:
let someService
...
someService= TestBed.get(someService);