У меня есть один модуль 'app', и я пытаюсь разделить его контроллеры и одну фабрику на отдельные файлы.Приложение работает, когда я соединяю все контроллеры в главном файле app.js.Он мгновенно ломается, когда я пытаюсь переместить их в новые файлы.
Я перепробовал все, чтобы получить свои контроллеры / фабрики в отдельном файле, но я постоянно получаю эту ошибку:
[$ controller: ctrlreg] Контроллер с именем 'AppCtrl' не зарегистрирован.https://errors.angularjs.org/1.7.2/$controller/ctrlreg?p0=AppCtrl
Я объявил сценарии в основном html-файле. Все js-файлы находятся в одном каталоге.Я пытаюсь добавить контроллер, используя angular.module('app)
в качестве ссылки на основной модуль, но ничего не получается.
Моя структура каталогов:
| app
|app.js |AppCtrl.js
| public
| index.html
app.js
angular.module('app', ['ngRoute']);
angular.module('app')
.config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
template: require('./home.html'),
controller: 'AppCtrl'
})
$locationProvider.hashPrefix('');
});
AppCtrl.js
angular.module('app')
.controller('AppCtrl', function ($scope, $route) {
//controller code
});
index.html
<!doctype html>
<html ng-app="app" lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" type="image/x-icon" href="/img/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB"
crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script>
<script src="../app/app.js"></script>
<script src="../app/AppCtrl.js"></script>
<base href="/">
</head>
Я пропустил шаг по их выделению?