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

IT技术 reactjs typescript background-sync typescript-lib-dom
2021-05-03 04:16:01

我正在将 TypeScript 与 React 一起使用,我想要实现的一件事是用于离线支持的后台同步。

要为 service worker 启用类型,我必须包含 WebWorker 库,但它与 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

1个回答

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