2017-07-29 63 views
0

我期运用yoeman aspnetcore的水疗模板具有角2aspnetcore-温泉路由没有提供

基本上,有3个文件:

  • app.module.client.ts
  • 应用.module.server.ts
  • app.module.shared.ts

我已经把我的服务的提供商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 }它不会停止记录终端中的错误。

我一直在使用路由器来浏览到我的网页在HomeComponentngOnInit()哪种作品的尝试,但是当我从localhost:5000进入页面后仍然有问题。我没有尝试过用我的替换HomeComponent

我真正想要的是理解正在发生的事情。老实说,我是新来的这个模板,通常只有一个app.module.ts。这个模板中有些东西我不明白。请帮忙!

+0

好像你错过添加'NameService'在我在我的文章中提到的'AppModule' –

+0

,我已经把我的服务app.module.client.ts的供应商阵列。如果我没有,我就不会在第一时间开展活动。 要再清楚一次。这是第一次渲染页面时服务失败的情况。当我从本地输入:5000与我的应用程序重定向到我的页面。如果我重定向到默认主页然后导航到我的页面,那么它会工作。 我敢肯定,这是与依赖注入无法正常工作无论是在我的部分或框架或模板。 – lock22

回答

0

我已经想出了一个解决办法。这个模板没有通常的UniversalModule,可能是那里出错的地方。我不知道,如果是解决这个问题的最好办法,但我的解决办法是:

  1. 加入我的服务app.module.server.ts为好。这是因为我认为主页首先在服务器上呈现。

  2. 在我的服务中注入ORIGIN_URL。我想我可能不得不做类似的事情app.module.client.ts,它的工作。所以,在我的服务的构造函数中,我添加了@Inject('ORIGIN_URL') private _originUrl: string,并在我的http方法中以this._originUrl作为前缀。