@epic-web/记住
简单,类型安全,"银通"实施.当你的"热舱替换"涉及 重新评估一个模块,但 你不想重新评价它的一部分.
npm install @epic-web/remember
问题
你用一个像雷米克这样的框架
--manual 模式 财务报告和审定财务报表
重新评价每个变化的模块。 但你有些状态,你
不想在变化之间输掉 例如:
- 数据库连接
- 内存缓存
这个解决方案
这是从
@jenseng的书 abuse-the-platform 演示
(印度语). 它基本上是一种安全型单子执行,你可以用来
在模块重新评价之间保持状态.
使用量
import { remember } from '@epic-web/remember'
export const prisma = remember('prisma', () => new PrismaClient())
记住你在召回中所做的任何改变 当模块被重新评价(即整个点)时反映。 所以,如果你 需要更改回调,然后需要重新启动您的服务器 .
忘记一个值
可能要求它明确忘记一个值 如果它过时了, 记住 连接会丢失或记忆到实例的关闭/错误/etc.
import { remember, forget } from '@epic-web/remember'
export const server = remember('server', () =>
http.createServer().listen('8080')
.on('close', () => forget('server')))
许可证
麻省理工学院
信贷
原始代码由 @ jenseng (英语) 接下来 我修改后出版,以符合我的需求.