我一直在尝试将角环球与我的应用程序集成,这是一场巨大的斗争。我们已经解决了很多问题,但我们已经在这个问题上坚持了两天。任何帮助都是非常感谢的。
因此,构建运行良好,错误只发生在我们试图启动网站时。这是一个错误:
在新的(C:\Projects\beatstars-marketplace-v2\dist\server.js:147171:28),在C:\Projects\beatstars-marketplace-v2\dist\server.js:147226:518,在Object.complete,(C:\Projects\beatstars-marketplace-v2\dist\server.js:170696:23),在TapSubscriber.module.exports.TapSubscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:125494,没有顺序的元素:31)在TapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at TakeSubscriber.module.exports.Subscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at TakeSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at FilterSubscriber.module.exports.Subscriber(C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at FilterSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at DistinctUntilChangedSubscriber.module.exports.Subscriber._complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at DistinctUntilChangedSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars Market-v2)MapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59809:26) at MapSubscriber.module.exports.Subscriber.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:59791:18) at State.module.exports.Subject.complete (C:\Projects\beatstars-marketplace-v2\dist\server.js:55713:21) at(C:\Projects\beatstars-marketplace-v2\dist\server.js:131851:14) at callNgModuleLifecycle (C:\Projects\beatstars-marketplace-v2\dist\server.js:8840:31) at NgModuleRef.module.exports.NgModuleRef_.destroy (C:\Projects\beatstars-marketplace-v2\dist\server.js:9458:9) at C:\Projects\beatstars-marketplace-v2\dist\server.js:4766:73PlatformRef.module.exports.PlatformRef.destroy (C:\Projects\beatstars-marketplace-v2\dist\server.js:4766:31) at C:\Projects\beatstars-marketplace-v2\dist\server.js:170216:22 at ZoneDelegate.module.exports.ZoneDelegate.invoke (C:\Projects\beatstars-marketplace-v2\dist\server.js:394223:26) at Zone.module.exports.Zone.run (C:\Projects)beatstars-marketplace-v2\dist\server.js:393973:43) at C:\Projects\beatstars-marketplace-v2\dist\server.js:394707:34 at ZoneDelegate.module.exports.ZoneDelegate.invokeTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394256:31) at Zone.module.exports.Zone.runTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394023:47) at drainMicroTaskQueue (C:\Projects )\beatstars-marketplace-v2\dist\server.js:394430:35) at module.exports.ZoneTask.invokeTask (C:\Projects\beatstars-marketplace-v2\dist\server.js:394335:21) at ZoneTask.invoke (C:\Projects\beatstars-marketplace-v2\dist\server.js:394320:48) at data.args(匿名函数) (C:\Projects\beatstars-marketplace-v2\dist\server.js:395173:25) at _combinedTickCallback( process._tickCallback /process/next_tick.js:138:11)(内部/process/next_tick.js:180:9)
我们已经进行了大量的研究,认为这与rxjs有关,但实际上不确定是什么。我们试着检查了我们所有的第一次使用似乎都没问题。我们试图移除所有的canActivate警卫,也没有工作,我们也尝试添加和删除pathMatch:完全从路线。这些都是我们在互联网上发现的问题的解决方案,但没有奏效。
这是我们的package.json:
{
"name": "project-name",
"version": "0.1.105",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve --host 0.0.0.0 --port 8888 --disable-host-check",
"dev": "ng serve",
"hmr": "ng serve --hmr -e=hmr",
"local": "ng serve --environment=local",
"mock-api-dev": "concurrently \"ng serve\" \"node api/api.js\"",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"build:server:prod": "ng run beatstars-marketplace-v2.1:server && webpack --config webpack.server.config.js --progress --colors",
"build:browser:prod": "ng build --prod",
"build:prod": "npm run build:server:prod && npm run build:browser:prod",
"server": "node local.js"
},
"private": true,
"dependencies": {
"@angular/animations": "6.1.2",
"@angular/cdk": "^6.4.2",
"@angular/common": "6.1.2",
"@angular/compiler": "6.1.2",
"@angular/core": "6.1.2",
"@angular/forms": "6.1.2",
"@angular/http": "6.1.2",
"@angular/material": "^6.4.2",
"@angular/platform-browser": "^6.1.2",
"@angular/platform-browser-dynamic": "6.1.2",
"@angular/platform-server": "^6.1.2",
"@angular/router": "6.1.2",
"@ng-toolkit/universal": "^1.1.41-beta.110",
"@ngrx/effects": "^6.0.1",
"@ngrx/store": "^6.0.1",
"@nguniversal/express-engine": "^6.0.0",
"@nguniversal/module-map-ngfactory-loader": "^6.0.0",
"@ngx-share/core": "^6.0.1",
"@swimlane/ngx-charts": "^9.0.0",
"@types/algoliasearch": "^3.27.5",
"algoliasearch": "^3.29.0",
"body-parser": "latest",
"canvas-toBlob": "^1.0.0",
"compression": "latest",
"core-js": "^2.4.1",
"cors": "~2.8.4",
"cropperjs": "^1.0.0-rc",
"d3": "^4.10.2",
"dom-autoscroller": "^2.3.3",
"font-awesome": "^4.7.0",
"hammerjs": "^2.0.8",
"lodash": "^4.17.5",
"ng-lazyload-image": "^4.0.0",
"ng-pick-datetime": "^5.2.6",
"ng2-dnd": "^5.0.2",
"ng2-dragula": "^2.0.2",
"ng2-file-upload": "^1.2.1",
"ngrx-store-freeze": "^0.2.0",
"ngx-clipboard": "^11.1.1",
"ngx-color-picker": "^6.6.0",
"ngx-cookie": "^4.0.1",
"ngx-editor": "3.2.1",
"ngx-infinite-scroll": "^6.0.1",
"ngx-page-scroll": "^5.0.0",
"ngx-slick": "^0.2.0",
"reselect": "^3.0.0",
"rxjs": "^6.2.2",
"rxjs-compat": "^6.2.2",
"ts-loader": "4.2.0",
"webpack-cli": "^2.1.4",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.7.2",
"@angular/cli": "6.1.2",
"@angular/compiler-cli": "6.1.2",
"@angularclass/hmr": "^2.1.3",
"@types/compression": "^0.0.36",
"@types/cors": "^2.8.4",
"@types/cropperjs": "^1.1.1",
"@types/d3": "^4.10.1",
"@types/hammerjs": "^2.0.34",
"@types/jasmine": "^2.5.47",
"@types/lodash": "^4.14.104",
"@types/node": "^7.0.12",
"@types/uuid": "^3.4.3",
"@types/youtube": "^0.0.30",
"codelyzer": "^4.0.1",
"concurrently": "^3.5.0",
"express": "^4.15.4",
"jasmine-core": "~2.5.2",
"jasmine-spec-reporter": "~3.2.0",
"karma": "~1.4.1",
"karma-chrome-launcher": "~2.0.0",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^0.2.0",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"prettier": "^1.14.2",
"protractor": "~5.1.0",
"ts-node": "^3.0.2",
"tslint": "^5.7.0",
"tslint-eslint-rules": "^4.1.1",
"typescript": "2.9.2"
}
}任何帮助都将不胜感激。
发布于 2018-08-16 11:50:12
解决了这个问题。我总是假设first()会自动取消订阅,所以不需要手动取消订阅。但是使用.withBrowserTransition时,我的主要应用程序组件在我的第一个()完成之前就被销毁了,所以我需要手动取消订阅。
发布于 2019-04-20 01:29:00
要找到触发它的原因,可以在EmptyErrorImpl中vendor.js中放置一个断点。

然后,一旦触发,您就可以查看调用堆栈,以尝试查看堆栈变量,这些变量可能会提供失败原因的线索。您很可能不会在堆栈跟踪中显式地看到您自己的代码文件,这是因为角的异步性质--但是您可以使用这个方法来获取线索并跟踪源代码。
不过,我必须谨慎地补充,对于路由,角使用EmptyError进行流控制。所以,不要仅仅因为您获得了一个EmptyError,它实际上是不可恢复的-它在这里用于检测一个不匹配的路由列表(通过捕获错误):

https://stackoverflow.com/questions/51848296
复制相似问题