我使用的是Angular 2.0.0-alpha.30版本.当重定向到不同的路由,然后刷新浏览器,它显示无法GET /路由.
你能帮我弄清楚这个错误发生的原因吗?
当我刷新我的网站时,我得到了404.这是使用Angular2,typescript和firebase.
我已经使用我的Angular2应用程序部署到firebaseapp.
路线似乎改变得很好,但是当我刷新浏览器时,它会将我重定向到404页面.
当我在本地刷新时,这不会发生.
我错过了任何路线设置或Firebase设置吗?
这是我的firebase.json文件:
{
"firebase": "test",
"public": "src",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
Run Code Online (Sandbox Code Playgroud) firebase typescript firebase-security firebase-hosting angular
我已经设置了在应用程序中完全正确的角度路由,但是如果我导航到我的about页面例如这样http://localhost:9000/about并刷新页面我得到错误说"Cannot GET /about",如果我打开一个新选项卡并粘贴网址并访问页.
我的boot.ts文件包含路由逻辑
// -- Typescript typings -------------------------------------------------------
/// <reference path="../typings/jquery.d.ts" />
/// <reference path="../typings/jqueryui.d.ts" />
//Imports ----------------------------------------------------------------------
import {Component, enableProdMode} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {
ROUTER_DIRECTIVES,
ROUTER_PROVIDERS,
Router,
RouteConfig,
} from 'angular2/router';
// -- Application Imports ------------------------------------------------------
import {NavbarComponent} from './components/navbar.component';
import {HomePage} from './pages/home.page';
// -- Enable production module -------------------------------------------------
enableProdMode();
// -- Component ----------------------------------------------------------------
@Component({
selector: 'main-app',
directives: [ ROUTER_DIRECTIVES, NavbarComponent ],
template: `
<app-navbar></app-navbar>
<router-outlet></router-outlet>
`
})
// …Run Code Online (Sandbox Code Playgroud) 我正在使用 Angular 6,我希望我的应用程序有一个静态基本 URL,以便进行反向代理配置。
在我的index.html我设置基本网址
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>APM</title>
<base href="/my-base">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<pm-root></pm-root>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在我的app.module.ts我配置了路由表
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { WelcomeComponent } from './home/welcome.component';
@NgModule({
declarations: [
AppComponent,
WelcomeComponent …Run Code Online (Sandbox Code Playgroud) 在 Angular2 中,我正面临这个问题。当您刷新页面时。URL 保持不变,但它不会在RouterOutlet.
除了刷新页面问题外,一切正常。
应用程序
import {Component,bind} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';
import {FORM_DIRECTIVES} from 'angular2/form';
import{HomeCmp} from 'Angular/src/Home/home.ts';
import {ContactUsCmp} from 'Angular/src/ContactUs/contactus.ts';
import {Router,ROUTER_PROVIDERS,RouteConfig, ROUTER_DIRECTIVES,APP_BASE_HREF,LocationStrategy,RouteParams,ROUTER_BINDINGS} from 'angular2/router';
@Component({
selector: 'micropuppy-app',
templateUrl: "ANGULAR/Templates/home.html",
directives:[HomeCmp,ROUTER_DIRECTIVES,ContactUsCmp],
template: ` <nav>
<ul class="nav navbar-nav">
**<li><a [routerLink]="['Home']">One</a><hr/></li>
<li><a [routerLink]="['ContactUs']">Contact Us</a></li>**
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Technologies <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Angular</a></li>
<li><a href="#">.NET</a></li>
</ul>
</li>
</ul>
</nav>
<router-outlet></router-outlet>`
})
@RouteConfig([
{path:'/Home', name: 'Home', component: HomeCmp}
{path:'/ContactUs', name: …Run Code Online (Sandbox Code Playgroud) 我有 Spring Boot 应用程序(后端),对于前端,我使用 Angular 2 单页应用程序。
每当我导航到路线(例如:localhost:8080/getAccounts)并在导航后刷新时,我都会收到 Whitelabel 错误页面。如果我位于根 localhost:8080 ,我工作得很好。该问题仅发生在子链接中。
返回(使用返回/后退按钮)到上一页也可以正常工作。只是刷新。
我也无法直接调用链接:localhost:8080/getAccounts。首先,我必须转到主页(localhost:8080)并通过子导航栏调用该页面。
有人遇到同样的问题吗?我确实必须改变。我的代码:
主.ts
import {bootstrap} from '@angular/platform-browser-dynamic';
import {AppComponent} from './components/app.component';
import {HTTP_PROVIDERS};
import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(AppComponent, [HTTP_PROVIDERS]);
Run Code Online (Sandbox Code Playgroud)
应用程序组件:
import { Component, OnInit } from '@angular/core';
import { Http } from '@angular/http';
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router-deprecated';
import { HomeComponent } from './home.component';
import { UserSearchComponent} from './webUserProfiles.component';
import { UserDetailViewComponent} from './webUserProfileView.component';
import { HTTPService } from '../service/http.service';
@Component({
selector: 'app-content', …Run Code Online (Sandbox Code Playgroud) angular ×6
angularjs ×1
firebase ×1
java ×1
javascript ×1
routing ×1
spring-boot ×1
typescript ×1