Netsuite 在SuiteScript 2中使用下划线

Netsuite 在SuiteScript 2中使用下划线,netsuite,suitescript,Netsuite,Suitescript,我正在SS2中编写一个脚本,我遇到了一个文档,上面说我应该做下面的事情。我已经这样做了,路径是正确的,但它似乎没有看到下划线,因为当试图使用它时,它返回为未定义。这方面的任何帮助都会很好,谢谢 定义(['N/email' “N/runtime” ,“N/搜索” ,'/SuiteScripts/af_scripts/下划线。js@1.8.3/下划线' ], 功能(电子邮件、运行时、搜索等){ 函数onRequest(上下文){ 我不知道如何这样做。但我发现这样做是可行的: /** * @NApi

我正在SS2中编写一个脚本,我遇到了一个文档,上面说我应该做下面的事情。我已经这样做了,路径是正确的,但它似乎没有看到下划线,因为当试图使用它时,它返回为未定义。这方面的任何帮助都会很好,谢谢

定义(['N/email'
“N/runtime”
,“N/搜索”
,'/SuiteScripts/af_scripts/下划线。js@1.8.3/下划线'
],
功能(电子邮件、运行时、搜索等){
函数onRequest(上下文){


我不知道如何这样做。但我发现这样做是可行的:

/**
* @NApiVersion 2.x
* @NScriptType usereventscript
*/
require.config({
  paths:{
    "coolthing":"/SuiteScripts/myFavoriteJsLibrary"
  }
});
define(['coolthing'],function (coolthing){
  return {
    beforeLoad:function beforeLoad(ctx){
      coolthing.times(2,function(){
        log.debug('log','log');
      });
    }
  };
});

我将下划线-min.js与我的Suitescripts放在同一个文件夹中

然后,我在同一个文件夹中创建了一个名为“parentareconfig.json”的配置文件,其中包含以下内容:

{
  "paths":{
    "underscore": "./underscore-min"
  }
}
然后,我将以下内容添加到脚本中:

/**
 * @NApiVersion 2.x
 * @NScriptType UserEventScript
 * @NModuleScope SameAccount
 * @NAmdConfig ./underscoreConfig.json
 */
define(['underscore', 'N/record', 'N/search'],
/**
 * @param {underscore} underscore
 * @param {record} record
 * @param {search} search
 */
function(_, record, search) {
现在我可以在脚本中调用下划线函数了

例如


在我的例子中,我使用lodash将HTML文件内容添加到suitelet中 定义模块时,可以在末尾插入lodash库,就像

define(['N/file', 'N/record', 'N/search', 'N/ui/serverWidget','./lodash.js'],
function(file, record, search, serverWidget) {
但在函数中,不应该像这样插入任何内容

define(['N/file', 'N/record', 'N/search', 'N/ui/serverWidget','./lodash.js'],
function(file, record, search, serverWidget) {
下面是加载文件并使用lodash获取其内容的代码示例

/**
 * @NApiVersion 2.x
 * @NScriptType Suitelet
 * @NModuleScope SameAccount
 */
define(['N/file', 'N/record', 'N/search', 'N/ui/serverWidget','./lodash.js'],
/**
 * @param {file} file
 * @param {record} record
 * @param {search} search
 * @param {serverWidget} serverWidget
 */
function(file, record, search, serverWidget) {

    /**
     * Definition of the Suitelet script trigger point.
     *
     * @param {Object} context
     * @param {ServerRequest} context.request - Encapsulation of the incoming request
     * @param {ServerResponse} context.response - Encapsulation of the Suitelet response
     * @Since 2015.2
     */
    function onRequest(context) {

        var templateFile = file.load({
            id: 'filePath'
        });
        //for example.
        var compiled = _.template(templateFile.getContents());

    }

    return {
        onRequest: onRequest
    };

});
注:


我将文件插入到文件柜中与suitelet相同的位置,这就是为什么我使用此相对路径(./lodash.js),如果suitelet不在同一文件中,请使用完整路径。

谢谢,足够近了。我还找到了将垫片与非AMD模块一起使用的参考资料,谢谢帮助谢谢,非常有帮助谢谢你的帮助,很好的提示。