创建一个可以存储共享实例的npm模块



我希望创建一个npm库,它可以用一组密钥初始化一次,然后在整个项目中重复使用

这是我希望如何使用的一个例子

在根组件或页面中

import lib from "lib"
const libInstance = lib({someKey : "123"})

在未来调用的另一个组件中。。。

import lib from "lib"
const libInstance = lib()

const aFunction = () => {
libInstance.doSomethingUseful()
}

我见过很多很好的例子,其中npm库函数被用来执行不相关的任务(例如加法/减法(,但不幸的是,这对我没有太大帮助

为什么不采取更常见的方法,并有一个特定的文件供您的包引用,类似于babel、jest、webpack、eslint、piecer等?

// node_modules/yash-lib
const config = require('../../.yashrc')
const lib = initLib(config)
module.exports = lib

经过一段时间的研究,我找到了这个解决方案

let config: Config = {
key: null,
}
const Core = {
config: () => {
return config
},
initialize : (_config : Config) => {

config = _config;
},
}
export default Core

使用core.Config()返回密钥,我可以在其他对等依赖库中使用该密钥。

最新更新