我们的团队正在尝试在我们的实例中使用Moment.js,但似乎无法使其正常工作。这是我们有几个问题:
谢谢!
答案 0 :(得分:0)
不幸的是,您不能在ServiceNow的服务器端使用momentjs。这是Rhino(SNOW使用的JavaScript解释器)的momentjs的安装说明:https://gist.github.com/UnquietCode/5614860
如您所见,您将需要编写SNOW不允许您执行的新Java类。
另一方面,您可以在客户端上使用它,只需复制粘贴“浏览器”实现并将其作为全局ui脚本包括在内:https://momentjs.com/docs/#/use-it/browser/
答案 1 :(得分:0)
将Moment.js的代码加载到脚本include中,然后可以像调用其他任何脚本include一样调用它。
如果要使用时区功能,则需要重写时区javascript中的调用以使用上述脚本include。
答案 2 :(得分:0)
这是我能够做到的方式:
创建一个名为“ moment”(必须称为此名称)的脚本包含,将范围设置为全局(或项目的适当范围),并使其成为可调用的客户端。>
将MomentJS 2.22.1中的代码粘贴到脚本主体中。
要验证您是否可以访问脚本包含,请打开背景脚本并运行以下测试代码:
var calendar = moment().add(1, 'days').calendar();
gs.log("calendar test: " + calendar);
var dayCount = moment().diff('1809-02-12', 'days');
gs.log('Abraham Lincoln was born ' + dayCount + " days ago!");
在 moment-timezone-with-data-2010-2020-v0.5 上回答您的问题:不,这不尽相同;这是指向Moment Timezone的链接,该链接是同一组织的不同库。
截至本文发布时,2.22.1是ServiceNow中运行的最新版本。 MomentJS有较新的版本,但是对于SN解释器来说太新了。
您还可以使用2.22.1版创建UI脚本。