Javascript 如何扩展Vue Storefront的核心模块

Javascript 如何扩展Vue Storefront的核心模块,javascript,vue.js,e-commerce,magento2,vue-storefront,Javascript,Vue.js,E Commerce,Magento2,Vue Storefront,我想覆盖购物车模块存储区中的操作。我试图通过以下链接扩展此CartModule 我已经用以下代码创建了一个文件/src/modules/cart/index.ts 从'@vue storefront/core/lib/module'导入{vuestrefontmoduleconfig,extendModule,vuestrefontmodule} 从“@vue storefront/core/modules/cart”导入{CartModule} 从“/store”导入{cartModule}

我想覆盖购物车模块存储区中的操作。我试图通过以下链接扩展此
CartModule

我已经用以下代码创建了一个文件
/src/modules/cart/index.ts

从'@vue storefront/core/lib/module'导入{vuestrefontmoduleconfig,extendModule,vuestrefontmodule}
从“@vue storefront/core/modules/cart”导入{CartModule}
从“/store”导入{cartModule}
常量cartExtend:VuestrefontModuleConfig={
键:'购物车',
存储:{modules:[{key:'cart',module:cartModule}]},
注册后:函数(){
console.log('购物车模块扩展')
}
}
扩展模块(cartExtend)
导出常量注册表模块:VuestrefontModule[]=[CartModule]
我收到的错误是
CarModule
类型与
vuestrefontmodule


我也不知道下一步该怎么做才能使它有效。医生对此并不清楚。请帮忙。谢谢

如果您想覆盖模块的操作,您不想扩展模块,而是存储


以下是示例:

Vuestrefront具有CartModule(在内核中),您需要更改操作代码
refreshTotals

在文件中编码/src/modules/cart/index.ts

import {StorefrontModule} from '@vue-storefront/core/lib/modules';
import {extendStore} from '@vue-storefront/core/helpers';

const cartModule = {
    action: {
        async refreshTotals({dispatch}, payload) {
            //
            // your new (and better!) code ;-)
            //
        }
    },
}

export const MyAwesomeCart: StorefrontModule = function () {
    extendStore('cart', cartModule);
}
在最后一步中,注册此新模块:

..
...
import {CartModule} from '@vue-storefront/core/modules/cart';
import {MyAwesomeCart} from "modules/cart/index";

export function registerClientModules() {
    registerModule(CartModule); // original module 
    registerModule(MyAwesomeCart); // your new overwiritng module

...
..