gpt4 book ai didi

javascript - Moment.js - "Accessing Moment through the global scope"警告消息

转载 作者:搜寻专家 更新时间:2023-11-01 04:51:49 24 4
gpt4 key购买 nike

我最近下载了最新版本的 moment.js,它在尝试调用时开始显示以下消息,例如 moment().add(1, 'day');

"Deprecation warning: Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release."

调用矩方法的最佳方式是什么?

更新:找出问题

出现问题是因为我的项目中有 requirejs,而 momentjs 试图警告我应该使用 momentjs 作为模块依赖项。

以下代码摘自momentjs v2.9.0

// CommonJS module is defined
if (hasModule) {
module.exports = moment;
} else if (typeof define === 'function' && define.amd) {
define('moment', function (require, exports, module) {
if (module.config && module.config() && module.config().noGlobal === true) {
// release the global variable
globalScope.moment = oldGlobalMoment;
}

return moment;
});
makeGlobal(true);
} else {
makeGlobal();
}

//And this is the 'makeGlobal' function. globalScope
function makeGlobal(shouldDeprecate) {
/*global ender:false */
if (typeof ender !== 'undefined') {
return;
}
oldGlobalMoment = globalScope.moment;
if (shouldDeprecate) {
globalScope.moment = deprecate(
'Accessing Moment through the global scope is ' +
'deprecated, and will be removed in an upcoming ' +
'release.',
moment);
} else {
globalScope.moment = moment;
}
}

所以,如果我在 CommonJS 环境中使用这个库,那么我应该使用 import 语句。

如果我使用 requirejs,那么我应该将 momentjs 作为我的模块的依赖项。

最后,如果其他情况都没有完成,那么我可以直接从全局范围(浏览器中的窗口对象)使用它

最佳答案

您可以使用 requirejs 将其引入而不是使用全局范围:

require.config({
paths: {
"moment": "path/to/moment",
}
});

define(["moment"], function (moment) {
moment().format();
});

取自http://momentjs.com/docs/

关于javascript - Moment.js - "Accessing Moment through the global scope"警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com