如何 运行 这个 moment.js 代码从 node.js 到 angular.js 控制器?

How to run this moment.js code from node.js to angular.js controller?

我在下面有这个 node.js 代码;

var moment = require('moment')
var myDate = new Date("2008-01-01");
myDate.setMonth(myDate.getMonth() + 13);
var answer = moment(myDate).format('YYYY-MM-DD');

我想 运行 它在 angularjs。我按照 https://github.com/urish/angular-moment 中的说明进行了操作,并添加了必要的链接和模块。

我想 运行 我的 angularjs 控制器中的代码。

angular.module('myApp.controllers', [])
    .controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 
                            function($scope, $http, $timeout, $window, $configuration) 
{
}

问题是我无法在 angularjs 中调用 var moment = require('moment'),这与 node.js 中不同。如何在 angularjs 控制器中完成此操作?

你不能在 Angular 代码上使用 Node.js 模块,但你可以安装 angular-moment,按照 README 中的说明注入文件和依赖项,并像使用它一样这个:

angular.module('myApp.controllers', []).controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 'moment',
function ($scope, $http, $timeout, $window, $configuration, moment) {
    var myDate = new Date("2008-01-01");
    myDate.setMonth(myDate.getMonth() + 13);
    var answer = moment(myDate).format('YYYY-MM-DD');
}]);

您需要更改代码如下:

angular.module('myApp.controllers', ['angularMoment'])
    .controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 'moment', 
                            function($scope, $http, $timeout, $window, $configuration, moment) 
{
    //use as in node
    var newDate = moment();
}

在这种情况下,您使用正常的 angular-js 依赖注入