应用基础:为angularjs控制器、服务等创建单独的文件
Foundation for apps: Creating separate files for angularjs controllers, services etc
我刚刚开始使用Foundation for Apps,但是我遇到了麻烦在一个单独的文件夹中添加我的angular控制器并使用它们
我有这个当前结构在我的assets的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';
}]);
app.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中添加我的控制器引用我也提到了这个,但我仍然不能让它工作。知道我做错了什么吗?
Inside gulpfile.js检查这一行。您将看到,在耦合最小化文件时只使用client/assets/js/app.js
。你需要让它复制所有的控制器的.js文件:
// These files are for your app's JavaScript
appJS: [
'client/assets/js/app.js',
'./client/assets/js/controllers/*.js',
]
你也可以使用angular模块来容纳你所有的控制器&然后把它注入到你的应用模块中。这是我在这里使用它的方法,这也是在这个伟大的准备使用的Fork中完成的方法:https://github.com/CreativityKills/foundation-apps-template
- 注意:记住在每次修改配置文件后重新启动gulp,并检查您的代码是否已很好地包含在构建的JS文件中(默认为
/build/assets/js/app.js
)
相关文章:
- 将数据传递给由服务创建的Ionic模态
- 创建web服务“;活动指示器”-与所有浏览器兼容的类似指示符
- 如何创建可从多个应用程序使用的PHP登录web服务
- 如何创建基于 Web 服务的计时器
- 为什么我无法访问使用 $provide.provider 和 $injector.get 创建的服务
- 使用DOM中的信息创建一个控制器/服务来持久化数据
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- 如何为Sails.js创建启动/停止/重新启动Linux服务
- 应用程序脚本高级驱动器API服务-newFile()方法未创建文件
- Wordpress创建一个自定义休息服务
- 创建订阅服务以通过邮件传递报告
- 如何删除由谷歌方向服务 API 创建的道路上的线
- 创建服务以在控制器中重复功能
- 无法为 Firefox 扩展创建 javascript XPCOM 服务
- 玩网络游戏服务 - 回合制游戏 - 在Javascript中创建和加入房间
- JavaScript 全局不保留范围?创建自动完成 Web 服务 JSON 对象
- Angular.js-使用$location服务创建url
- 使用Odata Rest服务创建案例记录时出现错误
- 如何为angular服务创建可以在控制台中检查的变量?
- 使用web服务创建PDF仅在直接调用该服务时有效