dropzone.js - استفاده از Dropzone با تایپاسکریپت


من یک برنامه دارم که از Dropzone 4.3 استفاده میکند و با تایپاسکریپت نوشته شده است. قبل از تبدیل آن به تایپاسکریپت، ما مجبور بودیم یک متغیر سراسری روی Dropzone تنظیم کنیم و همه چیز خوب بود.

Dropzone.autoDiscover = false;

من این بستههای نود را وارد کردهام:

    "@types/dropzone": "^4.3.35",
    "dropzone": "4.3.0",

حالا، خط autodiscover این خطا را به من میدهد:

Error   TS2686  'Dropzone' refers to a UMD global, but the current file is a module. Consider adding an import instead.

برای حل آن مشکل، من این را اضافه کردم:

import * as Dropzone from 'dropzone';

حالا، من با این خطا مواجه شدهام:

Error   TS2540  Cannot assign to 'autoDiscover' because it is a constant or a read-only property.   

کجا اشتباه کردهام؟

پاسخ شماره ۱

شما میتوانید autoDiscover را به صورت زیر روی false تنظیم کنید

import * as Dropzone from "dropzone";    
const dz = Dropzone
dz.autoDiscover = false;

من این را از این لینک پیدا کردم https://github.com/zefoy/ngx-dropzone-wrapper/blob/fb39139147f3a6d72bcaff51c3c32e2a54e31c9d/src/lib/dropzone.directive.ts#L60