Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 应用程序基础:为盎格鲁JS控制器、服务等创建单独文件 我刚开始使用Apple基金会,但我遇到了麻烦。把我的角控制器添加到一个单独的文件夹< /强>并使用它们。_Javascript_Angularjs_Gulp_Zurb Foundation Apps - Fatal编程技术网

Javascript 应用程序基础:为盎格鲁JS控制器、服务等创建单独文件 我刚开始使用Apple基金会,但我遇到了麻烦。把我的角控制器添加到一个单独的文件夹< /强>并使用它们。

Javascript 应用程序基础:为盎格鲁JS控制器、服务等创建单独文件 我刚开始使用Apple基金会,但我遇到了麻烦。把我的角控制器添加到一个单独的文件夹< /强>并使用它们。,javascript,angularjs,gulp,zurb-foundation-apps,Javascript,Angularjs,Gulp,Zurb Foundation 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. 'H

我的资产的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
app.js:

---
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>
app.controller('HomeCtrl', ['$scope', function($scope) {
    $scope.temp = 'hello';
}]);
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中添加控制器引用


我也提到过,但我仍然无法让它发挥作用。知道我做错了什么吗?

内部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',
]
您还可以使用角度模块来容纳所有控制器和服务,然后将其注入应用程序模块。这就是我如何使用它,这也是如何在这个伟大的即用叉子中完成的:

  • 注意:记得在每次修改gulp的配置文件后重新启动gulp,并检查您的代码是否包含在构建的JS文件中(默认为
    /build/assets/JS/app.JS