定义 Suitescript 2.1 的语法:添加 'N/search' 定义后无法评估脚本

Define syntax for Suitescript 2.1: Fail to evaluate script after adding 'N/search' to define

以下脚本已部署并正确运行:

/**
 * @NApiVersion 2.1
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 */
define([],

function() {
    const lineFieldLookup = [
      'custcol_sas_adapter', 'custcol_sas_body', 'custcol_sas_box', 'custcol_sas_endcap',
      'custcol_sas_lidcap', 'custcol_sas_mortrclr', 'custcol_sas_snout', 'custcol_sas_strmclr',
      'custcol_sas_topclamp', 'custcol_sas_tplate'];

      function validateLine(scriptContext) {
           const fieldValuesTable = lineFieldLookup.map((fieldId) => {
             return ({
               fieldId: fieldId,
               value: scriptContext.currentRecord.getCurrentSublistValue({sublistId:'item', fieldId: fieldId })
             })
           });
        console.log(fieldValuesTable)
    }

    return {
       validateLine: validateLine,
    };
});

但是,通过浏览器 'edit' 向脚本添加 'N/search' 依赖项并单击保存会引发错误。

更新代码:

define(['N/search'],

function(search) {
  // nothing changed here
}

错误:

Fail to evaluate script: {"type":"error.SuiteScriptModuleLoaderError","name":"UNEXPECTED_ERROR","message":"","stack":[]}

是什么阻止我添加搜索依赖项?

我认为是时候学习 N/query ;)

作为客户端脚本,您可以使用 require.

加载 N/search
/**
 * @NApiVersion 2.1
 * @NScriptType ClientScript
 * @NModuleScope SameAccount
 */
define([],
    function () {
        function loadSearch(callback) { require(['N/search'], search => { callback(null, search); }); }
        function pageInit(context) {
            try {
                loadSearch((error, search) => {
                    if (!error) {
                        let c_data = search.lookupFields({
                            type: search.Type.CUSTOMER,
                            id: "4390463",
                            columns: ["altname", "email", "address"]
                        });
                        console.log('c_data', c_data);
                    }
                });
            } catch (e) {
                console.error('loadSearch', e);
            }
        }
        return {
            pageInit: pageInit
        };
    });