0

我在Node Js模型中有以下内容。此文件存在于另一个项目中,无法更改,但在本地可供其他项目使用。

module.exports = {
    base: require('*/cartridge/models/product/decorators/base'),
    availability: require('*/cartridge/models/product/decorators/availability')
};

constructors这里的所有方法都类似于class Product. 现在我想添加另一个在我尝试访问时应该可用的属性Product.badge。为此,我尝试通过以下方式扩展上述模型:

var indexBase = require('*/cartridge/models/product/decorators/index');

indexBase.badge = require('*/cartridge/models/product/decorators/badge');

module.exports = indexBase;

但它似乎抛出一个错误,我试图记录Badge Type,但我仍然无法在此处访问徽章类型。

我将上述对象称为:

var decorators = require('*/cartridge/models/product/decorators/index');
decorators.badge(product, variantProduct);

我想知道如何扩展现有类,因为我想添加自定义constructor

这里仅基于语法,Node Js但此代码是为 Salesforce B2C Commerce 中的 SFRA 编写的。

4

1 回答 1

0

您需要做的就是在index.js文件中:

var indexBase = module.superModule;

代替:

var indexBase = require('*/cartridge/models/product/decorators/index');

它会工作得很好。

于 2019-07-10T12:57:33.350 回答