恢复被mixin覆盖的原始lodash方法

Restore original lodash method overwritten by mixin?

本文关键字:原始 lodash 方法 覆盖 mixin 恢复      更新时间:2023-09-26

我们使用的是lodash-contrib包,它包含一个行为不同于原始_.camelCase方法的camelCase方法。

是否有办法让我恢复指针到原来的方法?

在需求配置中,我们有一个shim:

lodashContrib: ['lodash']

一旦加载了lodashContrib,它就会向lodash添加mixins。我们的代码示例:

define([
    'lodashContrib'
], function() {
    // our code here. At this point, _.camelCase is overridden by contrib
});

创建一个文件lodashCustom.js或其他你可以添加到你的需求配置,并把以下内容放在里面,然后无论你需要lodashContrib,你可以要求这个代替:

define(['lodash', 'lodashContrib'], function(_, _c) {
  _c.camelCase = _.camelCase;
  return _c;
});

假设您的shim实现不依赖全局变量,这应该可以正常工作。