Grunt构建:工厂定义

时间:2016-05-11 15:52:43

标签: gruntjs grunt-contrib-concat

我正在使用yeoman的angular-fullstack生成器构建一个脚手架。

到目前为止,我们在开发版本上一直没有问题(grunt serve没有问题)。现在我们已准备好进入生产阶段,因此我一直在尝试使用grunt build构建分发。我们正在使用grunt的0.4.5版本。

然而,app.js中生成的dist/.tmp/concat/app/文件包含原始文件中不存在的错误。

构建执行的任务由Gruntfile.js的以下部分确定:

grunt.registerTask('build', [
'clean:dist',
'injector:less', 
'concurrent:dist',
'injector',
'wiredep',
'useminPrepare',
'autoprefixer',
'ngtemplates',
'concat',
'ngAnnotate',
[...]

在构建到达ngAnnotate之前,一切正常。那时我收到以下错误:

error: couldn't process source due to parse error

解析错误的来源来自以下问题。

原始app.js包含工厂:

.factory('authInterceptor', function ($rootScope, $q, $cookieStore, $location) {
return {
  // Add authorization token to headers
  request: function (config) {
    config.headers = config.headers || {};
    if ($cookieStore.get('token')) {
      config.headers.Authorization = 'Bearer ' + $cookieStore.get('token');
    }
    return config;
  },

  // Intercept 401s and redirect you to login
  responseError: function(response) {
    if(response.status === 401) {
      $location.path('/login');
      // remove any stale tokens
      $cookieStore.remove('token');
      return $q.reject(response);
    }
    else {
      return $q.reject(response);
    }
  }
};
})

但是构建的第一步生成的相应代码片段如下:

(function() {

function authInterceptor($rootScope, $q, $cookies, $location, Util) {
  return {
    // Add authorization token to headers
    request(config) {
      config.headers = config.headers || {};
      if ($cookies.get('token') && Util.isSameOrigin(config.url)) {
        config.headers.Authorization = 'Bearer ' + $cookies.get('token');
      }
      return config;
      },

   // Intercept 401s and redirect you to login
   responseError(response) {
       if (response.status === 401) {
        $location.path('/login');
        // remove any stale tokens
        $cookies.remove('token');
       }
       return $q.reject(response);
    }
  };
}

angular.module('insuranceAppApp.auth')
  .factory('authInterceptor', authInterceptor);

})();

我已经尝试了一段时间来了解构建行为不端的地方。但我是个笨蛋的绝对初学者。

有没有人遇到过类似的问题? 有没有人知道可能是问题的根源?

0 个答案:

没有答案