SyntaxError: expected expression, got '.' grunt-copy

SyntaxError: expected expression, got '.' grunt-copy

首先,我是g运行t和angularjs的新手,基本上这是我的第一个真正的项目。我喜欢使用持续集成,因此我决定使用 g运行t 来构建我的分发代码。

我将 g运行t-contrib-copy (https://github.com/gruntjs/grunt-contrib-copy) 与以下 Gruntfile.js 文件配置一起使用:

module.exports = function(grunt) {

// Load grunt tasks automatically
require('load-grunt-tasks')(grunt);

// Time how long tasks take. Can help when optimizing build times
require('time-grunt')(grunt);

// Define the configuration for all the tasks
grunt
    .initConfig({

    // Automatically inject Bower components into the app
    bowerInstall : {
        target : {
        src : [ 'index.html' ],
        exclude : [
            'bower_components/angular/angular.min.js',
            'bower_components/angular-route/angular-route.min.js',
            'bower_components/angular-sanitize/angular-sanitize.min.js',
            'bower_components/angular-translate/angular-translate.min.js',
            'bower_components/bootstrap/dist/js/bootstrap.min.js',
            'bower_components/bootstrap-social/js/bootstrap.min.js',
            'bower_components/jquery/dist/jquery.min.js',
            'bower_components/metisMenu/dist/metisMenu.min.js',
            'bower_components/morrisjs/morris.min.js',
            'bower_components/raphael/raphael-min.js' ]
        }
    },

    // Copies remaining files to places other tasks can use
    copy : {
        html : {
        src : 'index.html',
        dest : 'dist/index.html'
        },
        angular : {
        expand : true,
        cwd : 'app',
        dest : 'dist/app',
        src : [ '**/*.js' ]
        },
        bower : {
        expand : true,
        cwd : 'bower_components',
        dest : 'dist/bower_components',
        src : [ '**/*.*' ]
        },
        assets : {
        expand : true,
        cwd : 'assets',
        dest : 'dist/assets',
        src : '**/*.{png,jpg,jpeg,gif,css}'
        },
        views : {
        expand : true,
        cwd : 'views',
        dest : 'dist/views',
        src : '**/*.html'
        }
    },

    targethtml : {
        dist : {
        files : {
            'dist/index.html' : 'dist/index.html'
        }
        }
    },

    compress : {
        main : {
        options : {
            mode : 'tgz',
            archive : 'target/geneBlab.tgz'
        },
        files : [ {
            expand : true,
            src : '**/*',
            cwd : 'dist/',
            dot : true
        } ]
        }
    }
    });

grunt.registerTask('default', [ 'copy' ]);

};

我的结构文件夹是:

-app
  |--app.js
  |--controllers
  |   |...      
  |--i18
  |   |...
  |--js
  |...
-bower_components
  |...
-views
  |...
-assets
  |...
-index.html

在我 运行 g运行t 命令之前,我已经将它正确地构建到 dist 文件夹中,但不幸的是,当我尝试打开 index.html firebug 时,它向我显示了所有 javascript 文件的跟随错误: SyntaxError: expected expression, got '.'


我的一个 angular javascript 文件:

'use strict';

testControllers
.controller(
    'testController',
    [
        '$scope',
        '$http',
        '$routeParams',
        'dnaToolsService',

        function($scope, $http, $routeParams, dnaToolsService) {

            /***************************************************
             * VARIABLES
             **************************************************/

            /**
             * Control the input/output flow
             */
            $scope.status = 'input';

            $scope.dna = new Object();

            $scope.openDetails = new Array();

            /***************************************************
             * INPUT/OUTPUT METHODS
             **************************************************/

            /**
             * Calculate the dna sequence result
             */
            $scope.calculateResult = function($dna) {

            $scope.dna = callGetSpeciesUsingDna();

            $scope.status = 'output';

            // Start the array to hide and show details
            for (var index = 0; index < $scope.dna.speciesList.length; index++) {
                $scope.openDetails.push(false);
            }

            };

            /**
             * Show the data detail
             */
            $scope.showDetails = function($index, $simpleDetail) {
            $scope.openDetails[$index] = ($scope.openDetails[$index] == false) ? true
                : false;
            }

            /**
             * Back the page to input
             */
            $scope.back = function() {
            $scope.status = 'input';
            };

            /***************************************************
             * INTERNAL/HELP METHODS
             **************************************************/

            function callGetSpeciesUsingDna() {
            return dnaToolsService.getSpeciesUsingDna();
            }

            this.params = $routeParams;

        } ]);

为什么会这样?

感谢抽空 ;)

您认为问题出在插件版本上? :D

我正在使用 grunt-copy 并且这个插件已经过时了...我更改了 grunt-contrib-copy 的插件并且所有启动工作正常:O

Link 参考:https://github.com/gruntjs/grunt-contrib-copy/issues/223

谢谢大家