Module.exports不适用于自定义angular度filter

所以我有一个angular度的应用程序布局如下:

'use strict'; //lib dependencies listed out var $ = require('jquery'); var jQuery = $; var bootstrap = require('bootstrap'); //controllers var rootCtrl = require('./controllers/rootCtrl'); var reportCtrl = require('./controllers/reportCtrl'); var myReportsCtrl = require('./controllers/myReportsCtrl'); var userCtrl = require('./controllers/userCtrl'); var modalCtrl = require('./controllers/modalCtrl'); //factories var userFactory = require('./factories/userFactory'); var authTokenFactory = require('./factories/authTokenFactory'); var authInterceptor = require('./factories/authInterceptor'); //directives var exertion = require('./directives/exertion'); //filters var reportType = require('./filters/reportType'); var ui_router = require('angular-ui-router'); var ui_router_extras = require('ui-router-extras'); var ui_bootstrap = require('ui-bootstrap'); var routes = require('./routes'); var namespace = 'main'; var angular = require('angular'); var run = require('./run'); var app = angular.module(namespace, [ // inject:modules start 'ui.router', 'ct.ui.router.extras', 'ui.bootstrap' // inject:modules end ], function config($httpProvider){ $httpProvider.interceptors.push('AuthInterceptor'); }) .constant('API_URL', 'http://localhost:5000') .controller('rootCtrl', ['$scope', '$state', '$modal', 'UserFactory', rootCtrl]) .controller('modalCtrl', ['$scope', '$modalInstance', modalCtrl]) .controller('reportCtrl', ['$scope', '$state', reportCtrl]) .controller('myReportsCtrl', ['$scope', '$state', myReportsCtrl]) .controller('userCtrl', ['$scope', '$state', userCtrl]) .factory('UserFactory', ['$http', 'API_URL', 'AuthTokenFactory', '$q', userFactory]) .factory('AuthTokenFactory', ['$window', authTokenFactory]) .factory('AuthInterceptor', ['AuthTokenFactory', authInterceptor]) .directive('etExertion', [exertion]) .filter('reportType', reportType) .config(routes) .run(['$rootScope', '$state', 'UserFactory', run]); module.exports = app; 

和一个filter如此:

 'use strict'; module.exports = function() { return function(input, report_type) { input = input || []; var out = []; angular.forEach(input, function(item){ if(item.name == 'Other' || item.report_type == report_type) { out.push(item); } }); return out; }; } 

每当我尝试像这样包含filter:

 .filter('reportType', function(){ return function(input, report_type) { input = input || []; var out = []; angular.forEach(input, function(item){ if(item.name == 'Other' || item.report_type == report_type) { out.push(item); } }); return out; }; }) 

一切正常,但如果我这样做它是如何做的,我不能让控制台login和angular度不执行正确的过滤。 我在这里做错了什么? 如果我将reportTypevariableslogging到我的主应用程序中的控制台,则会得到与我的filter文件中相同的内容。