Javascript 带有moment.js的RequireJs不会触发`init`

Javascript 带有moment.js的RequireJs不会触发`init`,javascript,requirejs,momentjs,Javascript,Requirejs,Momentjs,我的requirejs配置正在声明,我希望在需要库时设置默认语言环境。所以,我试过这个: require.config({ enforceDefine: true, noGlobal: true, baseUrl: '/js', shim: { 'moment': { init: function (moment) { console.log("*** Moment loaded!"); return moment;

我的requirejs配置正在声明,我希望在需要库时设置默认语言环境。所以,我试过这个:

require.config({
  enforceDefine: true,
  noGlobal: true,
  baseUrl: '/js',
  shim: {
    'moment': {
      init: function (moment) {
        console.log("*** Moment loaded!");
        return moment;
      }
    }
  },
  paths: {
    'moment': 'lib/moment-with-locales.min'

  }
});
然而,调用
require(['moment'],函数(moment){…})不调用
shim
配置中的
init
函数


这里我没有得到什么?

Moment.js将自己定义为AMD模块,并且RequireJS不会调用
init

从RequireJS的文档中:

AMD模块将不调用
init
函数。比如你 无法使用shim init函数调用jQuery的
noConflict
。看见 使用noConflict作为jQuery的替代方法

从Moment.js的主要来源:


你知道我该怎么解决这个问题吗?意思是,一旦模块加载(仅在需要时)我如何自动调用
moment.lang(…)
?不幸的是,这对我没有多大帮助。我的
requirejs
config基于一个已知的本地
locale
变量,该变量已保存当前的locale,用于配置和;为了解决
矩.js
的问题,我需要导出那个对我来说似乎很愚蠢的变量。我希望我不需要重构:)哦,好吧,不管怎样,这都是微不足道的。。谢谢你的回答!