我刚开始使用 Foundation for Apps,但在将我的角度控制器添加到单独的文件夹中并使用它们时遇到了麻烦。
我的资产的 js 文件夹中有这个当前结构:
js/
app.js //this has all the controllers etc. by chaining
但我希望它是
js/
app.js
controllers/
home.controller.js
main.controller.js
我不想保留通过链接我的控制器、服务等开发的单个大型 js 文件。我想要一个更模块化的结构。
当我将其更改为模块化结构时,出现以下三个错误:
1. 'HomeCtrl' not defined.
2. Uncaught SyntaxError: Unexpected token < at the 1st line of home.controller.js
3. Resource interpreted as Script but transferred with MIME type text/html: "http://localhost:8079/assets/js/home.controller.js". at the point where I am including 'home.controller.js' in index.html
这是我的模板:
---
name: home
url: /
controller: HomeCtrl
---
<div class="grid-container">
<h1>Welcome to Foundation for Apps!</h1>
<p class="lead">This is version <strong>1.1 Weisshorn</strong>.</p>
</div>
home.controller.js:
app.controller('HomeCtrl', ['$scope', function($scope) {
$scope.temp = 'hello';
}]);
应用程序.js:
var app = angular.module('application', [
'ui.router',
'ngAnimate',
'foundation',
'foundation.dynamicRouting',
'foundation.dynamicRouting.animations'
])
.config(config)
.run(run)
;
config.$inject = ['$urlRouterProvider', '$locationProvider'];
function config($urlProvider, $locationProvider) {
$urlProvider.otherwise('/');
$locationProvider.html5Mode({
enabled:false,
requireBase: false
});
}
function run() {
FastClick.attach(document.body);
}
为了解决这个问题,我尝试通过引用这个在 gulpfile.js 中添加我的控制器引用
我也提到了这个,但我仍然无法让它工作。知道我做错了什么吗?