我使用NextJs (和React)和mobx状态树(但可以是上下文或redux)构建一个应用程序作为包管理器。所有的存储都是在一个名为SMK (状态管理工具包)的npm包中创建和处理的,我创建这个包是为了使子存储在我的移动和web应用程序中可重用。
的工作方式:
models、actions和views的子存储,并将其导出为一个模块。yarn add @my-repo/smk添加SMK。但是我需要在本地运行和发布SMK,以使开发更加容易。我以前使用的解决方案是yalc。
使用yalc并在本地运行--这是一个过程:
yarn start。(这将执行nodemon --ignore src/index.ts -e js,ts,tsx,json --watch src/ --exec yalc push --scripts)yalc add @my-repo/smk。(这将添加一个类似于"@my-repo/smk": "file:.yalc/@my-repo/smk"的依赖项)。yarn build,然后运行yarn start然后瞧!一切都很完美,我在本地的SMK上所做的任何改变在应用程序上都是完美的。
但是,当我运行将yarn dev next dev 作为 NextJs的违约 的时,它不起作用。
这是我面临的错误:

错误解释:因为我只在本地添加了setTestingState和testingState,所以它是不存在的。
可能的原因:快速刷新没有正确刷新缓存。
我试过:
// @refresh reset来强制它,但没有工作。用yarn dev 和 yalc**?**解决这个问题的解决方案/解决方法是什么?
发布于 2021-12-20 17:33:24
看起来这是NextJs上的一个bug,我们可以找到一些devs请求NextJs允许我们禁用Fast,而且看起来他们并不关心或者只是不打算改变它。
所以,我找到了一个第三方图书馆,下一个遥控器,就是为我解决这个问题。基本上,它是一个替代next dev的替代脚本,它可以快速简单地构建并激活一个观察者。
在package.json使用
"scripts": {
"start": "next-remote-watch @my-repo/smk"
}https://stackoverflow.com/questions/70348172
复制相似问题