Я следую этому руководству, и у меня есть структура приложения как это. Я попытался показать только соответствующие биты, так как это довольно много кода.
/app
/views
index.ejs
/config
express.js
/public
/external_libs
angular.js
angular-ui-router.js
/js
app.js
controllers.js
/partials
home.html
server.js
Внутри моего express.js (соответствующий бит)
app.use(express.static('./public');
Я могу настроить свои угловые контроллеры, поэтому я знаю, что этот каталог находится под ударом. Например, мой index.ejs
<html ng-app="myapp">
<head>
<script src="external_libs/angular.js"></script>
<script src="external_libs/angular-ui-router.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"</script>
</head>
<body ng-controller= "MainCtrl"> <!-- an alert in my controller fires, so I know the public directory is accessible, at least the js folder-->
<div ui-view></div>
</body>
</html>
В моем приложении.js
var app = angular.module('myapp', ['ui.router']);
app.config([
function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'partials/home.html'
});
}
]);
В контроллерах.js
var app = angular.module('myapp', []);
app.controller('MainCtrl', [
'$scope', function($scope) {
alert("This alert is indeed alerted");
}
]);
home.html
<h1> This is a test to see if the view on index.ejs is being populated </h1>
Я пробовал много разных комбинаций для «templateUrl» внутри app.js, в том числе
"partials/home.html"
"/partials/home.html"
"../partials/home.html"
Ни один из них не приводит к размещению home.html внутри элемента div ui-view на моей странице index.ejs. Я понимаю, что разместил несколько ограниченный объем кода, но тот факт, что я могу нажать на свои контроллеры и увидеть предупреждающее сообщение, заставляет меня поверить, что я почти у цели. Я использую маршрутизацию на стороне сервера для рендеринга начального index.ejs, но помимо этого я хочу обрабатывать вещи на стороне клиента. Кто-нибудь знает, как заставить angular-ui-router найти мою часть с этой настройкой?
template:'<div>test</div>'
? Также просмотр запросов (сетевая вкладка инструментов разработчика) может дать подсказку о том, какие файлы он пытается получить. - person ippi   schedule 25.08.2015yourdomain.com/#/home
? - person Matt Way   schedule 25.08.2015