首页 > 解决方案 > NetSuite SuiteScript - 使用类

问题描述

我是 SuiteScript 的新手,对 Javascript 的了解不多。

我有一个文件,其中包含我所有的功能等等,我将其上传到 NetSuite 并部署 - 一切都很好。但我想创建和使用一个类,从我上传的文件中创建它的实例。

那么我该怎么做呢?类声明是否需要在另一个 Javascript 文件中?我可以在一个文件中完成所有操作吗?如果我可以在一个文件中完成所有操作,语法是什么?我无法让它在一个文件中工作;它总是抛出一个错误。如果我可以将它们全部放在另一个文件中,那么该文件中的语法是什么?然后我如何将它包含在第一个文件中?

这是我的 Javascript 文件的缩短版本:

define(['N/search'],
       
function (search)
{
    function fieldChanged(scriptContext)
    {
        // Code here where I create and run a search. I want to put each result
        // from the search into an instance of the class I want to create and
        // store all of those instances in an array.
    }

    return {
        fieldChanged: fieldChanged
    };
});

我知道,类声明如下所示:

class Result
{
    constructor(name) 
    {
        this.name = name;
    }
}

但是我该把声明放在哪里呢?

对不起,如果这是一个非常愚蠢的问题。

标签: javascriptnetsuitesuitescript

解决方案


https://3en.cloud/insight/2018/1/26/using-es6-with-suitescript-20

您可能会发现此链接很有帮助。

最好的办法是将你的类包装在一个 中define([], function() {}),返回类。然后将该文件包含在您的 SuiteScript 文件中,如下所示define(['N/search', './myClass.js'], function(search, myClass) {})


推荐阅读