2016-11-12 70 views
0

我有簡單的angularjs應用程序,我相信我沒有配置路由的正確方法,因爲在瀏覽器的URL看起來怪怪的。例如,當我進入我的index.html頁面,這是網址:http://localhost:8082/basic-web-app/app/index.html#/,當我瀏覽到應用程序中的另一頁它的index.html#之後追加位置/:http://localhost:8082/basic-web-app/app/index.html#/login我檢查每一個例子是沒有index.html,然後追加像http://localhost:8082/basic-web-app/app/http://localhost:8082/basic-web-app/app/login位置我的路由:angularjs路由問題 - 附加的index.html

coursesApp.config(function($routeProvider, $httpProvider) { 
    $routeProvider 

    // route for the home page 
    .when('/', { 
     templateUrl: 'pages/home.html', 
     controller: 'mainController', 
     controllerAs: 'controller' 
    }) 

    // route for the courses page 
    .when('/courses', { 
     templateUrl: 'pages/courses.html', 
     controller: 'coursesController' 
    }) 

    // route for the courses page 
    .when('/login', { 
     templateUrl: 'pages/login.html', 
     controller: 'loginController', 
     controllerAs: 'controller' 
    }) 

    .when('/profile', { 
     templateUrl: 'pages/profile.html', 
     controller: 'profileController' 
    }); 

    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; 
}); 

謝謝!

+1

你'index.html'應應用程序文件夾外部。 然後運行你的應用程序:'http:// localhost:8082/basic-web-app/app' – Sravan

+0

你的意思是在webapp文件夾中? – skywalker

+0

我把它放在app文件夾的另一個空白index.html文件之外,我可以使用http:// localhost:8082/basic-web-app/app加載它。有趣的部分是,不是空白的index.html被加載,但我的。有任何想法嗎? – skywalker

回答

1

的問題是,你的文件夾結構。

index.html應位於app文件夾之外。

index.html生活在前端結構的根源。 index.html文件主要處理所有庫和Angular元素的加載。

這裏是文件夾結構的一個例子,

app/ 
----- controllers/ 
---------- mainController.js 
---------- otherController.js 
----- directives/ 
---------- mainDirective.js 
---------- otherDirective.js 
----- services/ 
---------- userService.js 
---------- itemService.js 
----- js/ 
---------- bootstrap.js 
---------- jquery.js 
----- app.js 

views/ 
----- mainView.html 
----- otherView.html 

index.html 

以下是爲您的文件夾結構,一些鏈接:

https://johnpapa.net/angular-growth-structure/

https://scotch.io/tutorials/angularjs-best-practices-directory-structure

+0

@skywalker,很高興聽到你的問題解決。 我加了一個答案,你可以投票並接受,如果你覺得有幫助。 – Sravan

0

如果我的問題得到了解決,那麼:

您所做的一切都沒有錯。每個單頁面應用程序框架(AngularJS就是其中之一)使用hash - #智能地保持用戶在同一頁面上。只要你的觀點正在呈現你需要的方式,它看起來沒問題。