链接不起作用。 地址栏也一样

当我在应用中构建和导航链接时,一切正常,但在地址栏中输入却不行! 最终,我希望能够通过电子邮件发送指向特定应用程序页面/路径的链接,但我不确定如何完成此操作。

我遵循了角度路由器指南文档。 我正确地认为...

我正在使用NodeJS(与快递),并在服务器中,我已将所有流量重定向到应用程序根目录。

app.get("*", function(req, res) {
    console.error("in get *")
    res.redirect("/");
});

在我的index.html中,我设置了基地

<base href="/">

我有我的客户端路径/路径设置如下

const appRoutes: Routes = [
  { path: 'vendor/registration', component: VendorRegistrationComponent },
  { path: 'vendors', component: VendorListComponent },
  { path: '',  redirectTo: 'vendor/registration', pathMatch: 'full' },
  { path: '**', component: PageNotFoundComponent }    
];

如果我在浏览器地址栏中键入http://localhost:8080/vendors ,那么我可以访问http://localhost:8080/vendor/registration ,这种方式很有意义,因为这是服务器告诉浏览器重定向到的地方。

那么我应该如何深入链接到我的应用程序?

编辑。 Angular教程 - “英雄之旅” - 也表现出相同的行为。 即直接在浏览器的地址栏中输入网址不起作用。 该应用程序显示一个“加载...”文本,并不会路由到控制器。


您的问题的回应在angular2文档中明确描述


通常,您不需要在服务器上重定向,因为您的所有路由都由客户端上的角路由器处理。

取而代之的是,您的全部快速路线只需始终为所有请求的网址提供index.html 。 当客户端应用程序引导时,angular会根据请求的url来照顾到适当的组件。 确保保持您的<base href="/">标记,以便角度可以知道URL的哪部分路由。

const path = require('path');

app.get("*", function(req, res) {
    res.sendFile(path.join(__dirname, '/path/to/your/index.html'));
});
链接地址: http://www.djcxy.com/p/38633.html

上一篇: linking does not work. Same from the address bar

下一篇: Could not resolve com.android.tools.build:gradle:2.2.3