角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 關注
- 737 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消
