我使用带有角度2的yoeman aspnetcore-spa模板。
基本上,有3个文件:我已将我的服务放在app.module.client.ts
的提供商中,然后在app.module.shared.ts
中添加了我的路由。这一切都很有效,我可以导航到它,但当我尝试用我的新路径替换redirectTo
时。在这一点上仍然可以,但是当我从localhost:5000
进入页面时,控制台尖叫而出错:
fail: Microsoft.AspNetCore.NodeService[0] blah bla Uncaught (in promise): Error: No provider for NameService!
和一些at injectionError
如果我更改redirectTo: 'home'
,那么它可以正常工作,我可以导航到我的页面。更糟糕的是,当我{ useHash: true }
它不会在终端中停止记录错误时。
我已尝试使用路由器导航到HomeComponent
ngOnInit()
中的某个页面,但是当我从localhost:5000
进入该页面时仍然存在问题。我没有尝试过用我的替换HomeComponent
。
我真正想要的是了解发生了什么。老实说,我是这个模板的新手,通常只有一个app.module.ts
。这个模板中有些东西我不明白。请帮助!
答案 0 :(得分:0)
我已经找到了解决方法。这个模板没有通常的UniversalModule,可能是出错的地方。我不确定这是解决问题的最佳方法,但我的工作是:
也在app.module.server.ts
添加我的服务。这是因为我认为主页首先在服务器上呈现。
在我的服务中注入ORIGIN_URL。我以为我可能要对app.module.client.ts
做类似的事情并且它有效。所以,在我的服务的构造函数中,我添加了@Inject('ORIGIN_URL') private _originUrl: string
,在我的http方法中,我在我的网址前加上this._originUrl
。