Angularjs 角上的工厂。。。使用时不是构造函数

Angularjs 角上的工厂。。。使用时不是构造函数,angularjs,Angularjs,我有以下工厂可以在我的控制器中注入矩.js: angular.module("app").factory("moment", moment); moment.$inject = ["$window"]; function moment($window) { return $window.moment; } 然后我尝试了以下方法: (function () { "use strict"; angular.module("app").controller("ProjectCon

我有以下工厂可以在我的控制器中注入矩.js:

angular.module("app").factory("moment", moment);

moment.$inject = ["$window"];

function moment($window) {
  return $window.moment;
}
然后我尝试了以下方法:

(function () {

  "use strict";

  angular.module("app").controller("ProjectController", ProjectController);

  ProjectController.$inject = ["projectService", "moment"];

  function ProjectListController(projectService, moment) {
     var date = new moment();
  }
}
但我得到了一个错误:

moment is not a constructor
如果我将工厂更改为:

angular
  .module('app')
  .factory('moment', function ($window) {
    return $window.moment;
  });
我再也不会出错了

第一个语法有什么错

  angular.module('XRegExp', []).factory('XRegExp', ['$window', function ($window) {
    return $window.XRegExp;
  }]);

  angular.module('lodash', []).factory('_', ['$window', function ($window) {
    return $window._;
  }]);

  angular.module('admin', [
'XRegExp',
'lodash'
  ]);

现在像往常一样注入到您的服务中

我只是通过脚本src包含momentjs,而不是在Angular中注入它。。。但这是一种在控制器中使用外部脚本的方法……我一直在使用它而不注入它: