在SuitScript 2.0中创建自定义库模块?

时间:2016-06-08 17:41:40

标签: javascript module amd netsuite suitescript

我正在尝试创建自定义探查器库以加载到我的SuiteScript 2.0脚本中。其路径为/SuiteScripts/profiler.js,我的Suitelet位于/SuiteScripts/suitelet.js

这里我是如何尝试将其加载到我的suitelet中的:

function Profiler() {
  var profileInstance = {};
  // add methods to profileInstance
  return profileInstance
}

我在profiler.js中尝试了两种方法:

方法#1:

require([],
 function() {
   function profiler() {
     var profilerInstance = {};
     // add methods to profilerInstance
     return profilerInstance;
   }
return {
  profiler: profiler
 };
});

方法#2:

/**
 *@NApiVersion 2.x
 */
require.config({
 shim: {
  'profiler': {
    exports: 'profiler'
  }
},
 paths: {
  profiler: '/SuiteScripts/Buy Request/profiler.js'
 }
});

在方法#2中,我还添加了一条注释,指出了SuiteScript版本和require.config:

Date <- Sys.Date()  ## The Variable Date is created as 2016-01-01
SomeFunction(Date)  ## Returns 2016001

我做错了什么?

1 个答案:

答案 0 :(得分:5)

您需要使用define代替require来构建自定义模块。只需更改您的方法#2即可拨打define而不是require,您应该好好去。

我不确定require.config是否适用于SuiteScript。您不应该专门针对此用例使用它。