2016-05-16 95 views
0

Im与suitescript 2.0(netsuite)和我想知道如何去包括使用它的新API的自定义类(对象)。例如,我试图包含一个控制器类,但得到“模块未找到”的警告。请参阅下面的代码片段SuiteScript2.0 - 包括一个自定义文件

/** 
    *@NApiVersion 2.x 
    *@NScriptType Restlet 
    */ 
    define(['N/record', 'N/error', "src/My_Controller"], 
     function (record, error, My_Controller) { 
      var controller = new My_Controller(); 
      ... 

错误消息是:Module does not exist: src/My_Controller.js其实它在那里。这是做到这一点的正确方法吗?

NetSuite的帮助中心有任何关于纳入定制/辅助的JavaScript的

回答

2

您可以通过它们的路径在文件柜中引用自定义模块。这可以是相对于当前文件或相对于文件柜的根。因此,它看起来像:

define(['N/record', 'N/error', '/SuiteScripts/my-project/src/My_Controller'], ...) 

或:

define(['N/record', 'N/error', './src/My_Controller'], ...) 

假设src是在同一个目录作为该文件。

+0

这让我更进了一步,但仍然得到这个错误:TypeError:My_Controller不是一个函数。生病检查我的出口,但非常感谢 – Coldstar

+1

您需要使用define函数将您的自定义文件定义为AMD模块。你的模块需要导出一个'construct'函数或任何你想调用的名字,然后你将在Restlet中引用它作为'My_Controller.construct()' – erictgrubaugh