我正在使用Angularjs構建一個Web應用程序,但當我進入索引頁時,我得到的是http://localhost:3000/#!/而不是http://localhost:3000/。http:// localhost:3000 /#!/爲什麼我會在我的本地主機鏈接中獲得「#!/」。
我想不通它爲什麼會發生。
有些幫助會很大。
我正在使用Angularjs構建一個Web應用程序,但當我進入索引頁時,我得到的是http://localhost:3000/#!/而不是http://localhost:3000/。http:// localhost:3000 /#!/爲什麼我會在我的本地主機鏈接中獲得「#!/」。
我想不通它爲什麼會發生。
有些幫助會很大。
hashBang#!通常通過url和角度路由之間的angularjs添加。您可以使用$ locationProvider和html5Mode設置爲true,像這樣在.config禁用它():
.config('$locationProvider', function($locationProvider){
$locationProvider.html5Mode(true);
})
使用HTML5模式需要URL重寫服務器端的,基本上你不得不重寫所有的鏈接入口點你的應用程序(例如index.html)。需要<base>
標籤對於這種情況也很重要,因爲它允許AngularJS區分作爲應用程序庫的url部分和應用程序應該處理的路徑。有關更多信息,請參閱AngularJS Developer Guide - HTML5 Mode Server Side。
@georgeawg絕對。隨意編輯我的答案..我會批准它:-) –
非常感謝。這非常有幫助。是的,我需要將
@SüleymanTekin請將答案標記爲正確,如果它對您有幫助:-) –
請參閱[AngularJS開發人員指南 - '$ location'服務配置](https://docs.angularjs.org/guide/$location#-location-service-configuration)。 – georgeawg