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
...
..