如何避免“dom”和“webworker”库之间的冲突?

问题描述 投票:0回答:1

我正在使用带有React的TypeScript,我想要实现的一个目标是后台同步以获得离线支持。

为了为服务工作者启用打字,我必须包含lib“webworker”,但它与lib“dom”冲突。并产生这样的错误:

(25,1): Definitions of the following identifiers conflict with those in another file: 
EventListenerOrEventListenerObject, BlobPart, HeadersInit, BodyInit,
RequestInfo, DOMHighResTimeStamp, PerformanceEntryList, PushMessageDataInit,
VibratePattern, BufferSource, DOMTimeStamp, FormDataEntryValue, 
IDBValidKey, MessageEventSource, BinaryType, ClientTypes, 
IDBCursorDirection, IDBRequestReadyState, IDBTransactionMode, 
NotificationDirection, NotificationPermission, PushEncryptionKeyName, 
PushPermissionState, ReferrerPolicy, RequestCache, RequestCredentials, 
RequestDestination, RequestMode, RequestRedirect, ResponseType, 
ServiceWorkerState, ServiceWorkerUpdateViaCache, VisibilityState, 
WorkerType, XMLHttpRequestResponseType

所以我想知道是否有任何解决方法,除了键入我的大多数参数any

谢谢 :-)

reactjs typescript background-sync
1个回答
0
投票

您可以使用单独的tsconfig.json文件将项目拆分为多个部分:一个部分包含dom lib,另一个部分包含webworker lib。您可以为不依赖于任一库的公共代码创建另一部分。您可以使用project references来帮助自动化构建。如果这不能完全解决问题,请更新问题以描述未解决的问题。

© www.soinside.com 2019 - 2024. All rights reserved.