如何在NetSuite脚本2.0中使用外部javascript库?

如何在NetSuite脚本2.0中使用外部javascript库?,netsuite,suitescript,Netsuite,Suitescript,我真的很讨厌netsuite脚本2.0处理日期格式的方式。因此,我想使用Moment.js解析从web服务调用中返回的日期。如何让它在套件脚本2.0中工作 如上所述,我需要将moment.js库添加到NetSuite文件柜中,然后在调试器中使用该库。还要注意,我的脚本位于文件柜->SuiteScripts->库中 但即便如此,我在语法方面还是有问题。因为当我使用调试器时,它现在不会抛出任何错误,但我无法单步执行任何代码,并且日志语句不会打印任何内容 /** * @NApiVersion 2.x

我真的很讨厌netsuite脚本2.0处理日期格式的方式。因此,我想使用Moment.js解析从web服务调用中返回的日期。如何让它在套件脚本2.0中工作

如上所述,我需要将moment.js库添加到NetSuite文件柜中,然后在调试器中使用该库。还要注意,我的脚本位于文件柜->SuiteScripts->库中

但即便如此,我在语法方面还是有问题。因为当我使用调试器时,它现在不会抛出任何错误,但我无法单步执行任何代码,并且日志语句不会打印任何内容

/** * @NApiVersion 2.x
 * @NScriptType ScheduledScript
 */

define ([
 'N/log',
 '../Libraries/moment',
 ],

function(log, moment) {





var a = moment('2016-01-01'); 
var b = a.clone().add(1, 'week'); 
log.debug(b);

});

通常,外部库只需要是一个模块,您可以将其直接包含在代码中。如果您要使用的库与AMD不兼容,则有额外的工作要做

moment
与AMD兼容,因此您只需将
moment
源文件放在文件柜中的某个位置,然后按路径将其包含在依赖项中

require(["path/to/moment"], function (moment) {
    // use moment as usual
});

下面是一个工作示例,其中我在同级
lib
目录中有
moment.min.js

通常,外部库只需要是一个模块,您可以直接将其包含在代码中。如果您要使用的库与AMD不兼容,则有额外的工作要做

moment
与AMD兼容,因此您只需将
moment
源文件放在文件柜中的某个位置,然后按路径将其包含在依赖项中

require(["path/to/moment"], function (moment) {
    // use moment as usual
});
下面是一个工作示例,我在同级
lib
目录中有
moment.min.js

您说过:

因为当我使用调试器时,它现在不会抛出任何错误,但我无法单步执行任何代码,并且日志语句不会打印任何内容

/** * @NApiVersion 2.x
 * @NScriptType ScheduledScript
 */

define ([
 'N/log',
 '../Libraries/moment',
 ],

function(log, moment) {





var a = moment('2016-01-01'); 
var b = a.clone().add(1, 'week'); 
log.debug(b);

});
但从文件中可以看出:

注意:如果需要在NetSuite调试器中特别调试代码,则必须使用
require()
函数。NetSuite调试器无法单步执行
define()
函数

你说:

因为当我使用调试器时,它现在不会抛出任何错误,但我无法单步执行任何代码,并且日志语句不会打印任何内容

/** * @NApiVersion 2.x
 * @NScriptType ScheduledScript
 */

define ([
 'N/log',
 '../Libraries/moment',
 ],

function(log, moment) {





var a = moment('2016-01-01'); 
var b = a.clone().add(1, 'week'); 
log.debug(b);

});
但从文件中可以看出:

注意:如果需要在NetSuite调试器中特别调试代码,则必须使用
require()
函数。NetSuite调试器无法单步执行
define()
函数


事实上,我认为它不起作用。因为即使调试器没有抛出任何错误,我也无法单步执行代码。我自己很少使用调试器,但可能会有其他人也可以添加输入。这在UE脚本中起作用<代码>定义(['N/record','N/log','N/ui/serverWidget','./矩.min.js'],函数(记录,日志,ui,矩){}我将在这里回应Eric。我发现调试器的效率通常较低。奇怪的是,您需要路径中的
.js
部分;我从未看到这是必要的,尽管我知道2017年对
require
库进行了更改。1.您的环境是否已更新@bknight?不要尝试没有它。事实上,我不知道因为即使调试器没有抛出任何错误,我也不能单步执行代码。我自己很少使用调试器,但可能会有其他人也可以添加输入。这在UE脚本中工作。
define(['N/record','N/log','N/ui/serverWidget','./矩.min.js'],function(record,log,ui,矩){}
我将在这里回应Eric。我发现调试器的效率通常较低。奇怪的是,您需要路径中的
.js
部分;我从未看到这是必要的,尽管我知道2017年对
require
库进行了更改。1.您的环境是否已更新@bknights?请不要尝试没有它。