禁用或删除npm包中的某些功能



我将使用一个npm库,并且只需要一些函数,如何禁用或删除库中未使用的函数?

我仍然想使用这个库,但库中有很多读写功能,但我想启用读功能并禁用写功能,这样开发者就没有机会使用写功能

假设包导出一个类PackageFoo,该类具有getBarsetBar等方法,但您不希望代码的用户能够调用setBar。与其在代码库中传递PackageFoo对象,不如将其封装在自己的类RestrictedFoo中,该类只有方法getBar。在内部,RestrictedFoo类存储PackageFoo的一个实例,该实例是私有的,您将所有逻辑委托给它

export class RestrictedFoo {
private readonly _internal: PackageFoo;
constructor(props) {
this._internal = new PackageFoo(props);
}
getBar(): BarType {
return this._internal.getBar();
}
}

如果我们处理的是类属性而不是方法,这种方法仍然有效,但您会在类中使用getter和setter。

get bar(): FooType {
return this._internal.bar;
}

最新更新