我正在使用在多个服务之间共享的npm软件包。我们现在正处于发展的早期阶段,因此有很多变化。必须对程序包进行更改,然后在每次对此程序包进行更改时都重新生成我的项目,这确实很烦人。是否有一个很好的方法在NODE_ENV = development时使用本地软件包,否则在npm存储库中使用该软件包?谢谢。
编辑:在发布之前能够在本地测试我的更改也很不错。
答案 0 :(得分:1)
我的解决方案有点骇人听闻,但目前可以使用。我要做的是使用lerna为我的npm包创建符号链接。我有一个非标准的lerna.json文件-即我没有使用/ packages文件夹。之后,我使用类似于npm包absolutize-links的脚本。这会将使用lerna创建的符号链接转换为绝对路径。然后,我用docker设置了一些卷,将其指向我的软件包。设置有些复杂,但我认为它现在可以正常工作。我正在运行nodemon来忽略我的链接包的所有node_modules除了。因此,当我在本地文件系统中对该软件包进行更改时,在容器中运行的nodemon将重新启动。 \ o /