上传SuiteScript Map/Reduce脚本报语法错误问题咨询
错误原因及修复方案
核心语法错误(触发报错的直接原因)
你收到的语法错误由第11行的正则表达式定义导致:
你写的正则字面量在@\之后存在非法换行,JavaScript不允许正则字面量中间出现未转义的换行,加上换行前多余的无意义转义符,直接触发了解析失败。
修正后的正则代码
const PUNCTUATION_REGEXP = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]/g;
将原代码中拆分两行的正则替换为上面的单行正则即可解决该语法报错。
其他需要修正的潜在问题
- 缺失SuiteScript必填头部注解:NetSuite要求所有SuiteScript脚本顶部必须声明版本和类型注解,否则会触发脚本评估失败,你需要在代码最顶部加上以下内容:
/** * @NApiVersion 2.1 * @NScriptType MapReduceScript */
- 缺失
N/log依赖引入:你代码中调用了log.audit方法,但define的依赖数组中没有引入N/log模块,需要修改define声明如下:
define(['N/file', 'N/log'], (file, log) => {
内容的提问来源于stack exchange,提问作者Luken
相关产品推荐
相关产品推荐

