角2:404錯誤當我通過瀏覽器刷新時我剛接觸到角2,我已經將我的單頁應用程序存儲在我的服務器中,在一個名為“myapp”的文件夾中。我已將基中的URL更改為http://example.com/myapp/`.我的項目有兩頁。所以我實現了角2路由。我將默認頁面設置為登錄。當我打字時http://example.com/myapp/在我的瀏覽器中,它將自動重定向到http://example.com/myapp/login..但是如果刷新頁面,我會得到一個404錯誤,說http://example.com/myapp/login找不到。但是如果我使用Lite服務器運行我的項目,一切都正常。在本例中,index.html中的URL將是"/"..怎么解決呢?
3 回答

慕后森
TA貢獻1802條經驗 獲得超5個贊
index.html
import {bootstrap} from 'angular2/platform/browser';import {provide} from 'angular2/core';import {ROUTER_PROVIDERS} from 'angular2/router';import {LocationStrategy, HashLocationStrategy} from '@angular/common';import {MyApp} from './myapp';bootstrap(MyApp, [ ROUTER_PROVIDERS, {provide: LocationStrategy, useClass: HashLocationStrategy}]);
#

Helenr
TA貢獻1780條經驗 獲得超4個贊
更新為 角2終版本
增加進口: import { HashLocationStrategy, LocationStrategy } from '@angular/common';
在NgModule Provider中添加: {provide: LocationStrategy, useClass: HashLocationStrategy}
例
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { HashLocationStrategy, LocationStrategy } from '@angular/common'; @NgModule({ declarations: [AppComponent], imports: [BrowserModule], providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}], bootstrap: [AppComponent], }) export class AppModule {}
替代
例子:
import { NgModule } from '@angular/core'; ... const routes: Routes = [//routes in here]; @NgModule({ imports: [ BrowserModule, FormsModule, RouterModule.forRoot(routes, { useHash: true }) ], bootstrap: [AppComponent] }) export class AppModule { }
- 3 回答
- 0 關注
- 733 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消