我希望创建一个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()
返回密钥,我可以在其他对等依赖库中使用该密钥。