0

我需要修改 vuestorefront/core/modules/catalog/helpers/search.ts 下的 'preConfigureProduct' 功能

https://github.com/vuestorefront/vue-storefront/blob/hotfix/v1.12.3/core/modules/catalog/helpers/search.ts#L51

我需要根据我的客户要求进行定制。因此我需要在我的项目中覆盖这个函数。但是没有关于如何从帮助程序覆盖一个函数的文档。我也是 vue 店面的新手,所以我不完全了解模块扩展或混合。

提前致谢。

4

1 回答 1

0

我自己想通了,我也会为谁被卡住留下一个简短的答案。另外,我不确定这是一个好习惯,如果您知道更好的方法,请留在这里。

据我了解,如果您需要从助手覆盖一个函数,您还需要“覆盖”调用您的助手函数的函数。

就我而言,我需要从模块目录帮助程序中覆盖函数 preConfigureProduct 。

调用此 preConfigureProduct 的函数是模块 catalog-next 中的一个 asyc 函数 configureProducts,https://github.com/vuestorefront/vue-storefront/blob/hotfix/v1.12.3/core/modules/catalog-next/store/category/弃用Actions.ts#L22。(我知道这是 deprecatedActions。我的下一个工作是弄清楚如何切换到新的)

因此,我扩展了模块目录-next,并从字面上复制粘贴 configureProducts(因为我不需要修改它),但将 preConfigureProduct 导入我的新文件。

import { preConfigureProduct } from './helpers/search'

我的新 search.ts 文件:

import Vue from 'vue';
import config from 'config';

export const preConfigureProduct = ({ product, populateRequestCacheTags }) => {
    .....
  return product;
};

这就对了 !

希望它可以帮助其他人。如有错误,欢迎指出。

于 2021-04-23T19:00:35.357 回答