【问题标题】:grunt-angular-builder "Ignored File"grunt-angular-builder “忽略的文件”
【发布时间】:2015-05-16 09:25:31
【问题描述】:

我在运行 grunt-angular 时遇到了一些奇怪的事情。由于某些原因,它会看到文件,但是在运行命令“grunt release -v”时会忽略它们。结果是:

Running "angular-builder:app" (angular-builder) task
Verifying property angular-builder.app exists in config...OK
Files: app/components/home/homeController.js, app/core/app.js -> build/admin_tools.js
Options: mainModule="AdminTools"
Reading app/components/home/homeController.js...OK
Ignored file: app/components/home/homeController.js

Generating the release build...

Not optimizing anchorScrollOffsetExample because it shares some/all of its files with other modules.
Including module ngRoute.
Scanning ngRoute for non-angular script dependencies...
Validating app/core/angular-route.js...OK
Including module AdminTools.
Scanning AdminTools for non-angular script dependencies...
Validating app/core/app.js...OK
Writing build/admin_tools.js...OK

Done, without errors.

如您所见,它看到了一个名为 homController.js 的 js 文件,但随后忽略了它,我不知道为什么。该文件的内容是。

app.controller('homeController', ['$scope', '$log', function ($scope, $log){

    doThis = function(){
        alert('Hello There');
    }

}]);

很简单的东西。 app.js 看起来像这样:

var app = angular.module('AdminTools', ['ngRoute']);   

app.config(['$routeProvider', function($routeProvider) {

    $routeProvider 
        .when('/', {
            templateUrl: 'app/templates/login.html',
            controller: 'homeController'
        })
        .otherwise({ redirectTo: '/' });
}]);

-- 编辑添加 Grunt 文件--

module.exports = function (grunt){

    grunt.initConfig ({

        'angular-builder': {
            options: {
                mainModule: 'AdminAdmin'
            },
            app: {
                src:  'app/**/*.js',
                dest: 'build/admin_tools.js'
            }
        }
    });

    grunt.loadNpmTasks ('grunt-angular-builder');

    grunt.registerTask ('default', ['angular-builder']);
    grunt.registerTask ('release', ['angular-builder']);
    grunt.registerTask ('debug', ['angular-builder::debug']);

};

不知道我错过了什么。

【问题讨论】:

  • 你在使用 grunt 对吗?那你可以粘贴 gruntfile 吗?

标签: angularjs gruntjs


【解决方案1】:

我能够找出问题所在。这与我模块化应用程序的方式有关。

控制器需要是:

angular.module('home.controller', [])
    .controller('homeController', ['$scope', '$log', function ($scope, $log){

        doThis = function(){
            alert('Hello There');
        }

}]);

app.js 像这样注册依赖项。

angular.module('AdminTools', [
    'ngRoute',
    'home.controller']);  

angular.config(['$routeProvider', function($routeProvider) {

    $routeProvider 
        .when('/', {
            templateUrl: 'app/templates/login.html',
            controller: 'homeController'
        })
        .otherwise({ redirectTo: '/' });
}]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-05
    • 2018-03-07
    • 2014-02-23
    • 1970-01-01
    • 2015-06-16
    • 2014-07-10
    • 2016-01-01
    相关资源
    最近更新 更多