Logging 如何确保消费应用程序中依赖项的单一版本
为此,我使用了Logging 如何确保消费应用程序中依赖项的单一版本,logging,npm,aurelia,package.json,Logging,Npm,Aurelia,Package.json,为此,我使用了peerDependencies,但我想知道这是否足够,或者根本不可能 例如,使用 我创建了一个库,library-a,它使用aurelia日志记录来做一些日志记录 对于普通的依赖项,我只需将其添加为依赖项。 但是,aurelia logging包含一些全局状态(即存储所有创建的记录器),因此它公开了一个setLevel()函数,该函数可以设置所有记录器的日志级别 由于这种全局状态,最终应用程序需要使用单一版本的aurelia日志记录,整个工作才能正常进行。 如果没有,一些模块可能
peerDependencies
,但我想知道这是否足够,或者根本不可能
例如,使用
我创建了一个库,library-a
,它使用aurelia日志记录来做一些日志记录
对于普通的依赖项,我只需将其添加为依赖项
。
但是,aurelia logging
包含一些全局状态(即存储所有创建的记录器),因此它公开了一个setLevel()
函数,该函数可以设置所有记录器的日志级别
由于这种全局状态,最终应用程序需要使用单一版本的aurelia日志记录
,整个工作才能正常进行。
如果没有,一些模块可能会使用不同版本的aurelia日志记录
,并且setLevel()
函数无法正常工作
作为一名库作者,我将aurelia日志
列为dependencies
和peerDependencies
它会做我想做的吗
“全局状态是通用的”是一个坏主意,但在这种情况下,似乎没有其他解决方法。我想得更多,解决方案是使用一个版本锁定模块来存储这些“全局状态”
免责声明:您应该尽可能避免使用全局状态
我就是为了这个目的而创造的
再次声明:只有当你知道你做的是正确的事情时才使用它。阅读自述文件。:) 我想得更多,解决方案是使用一个版本锁定模块来存储这些“全局状态”
免责声明:您应该尽可能避免使用全局状态
我就是为了这个目的而创造的
再次声明:只有当你知道你做的是正确的事情时才使用它。阅读自述文件。:) 我想我需要warn
中支持的flat
模式。是这样吗?我想我需要纱线
中支持的平直
模式。对吗?