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

时间:2015-10-31 07:17:58

标签: javascript angularjs node.js momentjs angular-moment

我在下面有这个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控制器内完成?

2 个答案:

答案 0 :(得分:2)

您不能在Angular代码上使用Node.js模块,但您可以按照自述文件中的说明安装角度矩,注入文件和依赖项,并使用它:

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');
}]);

答案 1 :(得分:2)

您需要按如下方式更改代码:

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依赖注入