আমি কারও .tsconfigফাইল পরীক্ষা করে দেখছিলাম এবং সেখানে আমি স্পট করেছি--esModuleInterop
এটি তাঁর .tsconfigফাইল
{
"compilerOptions": {
"moduleResolution": "node",
"target": "es6",
"module": "commonjs",
"lib": ["esnext"],
"strict": true,
"sourceMap": true,
"declaration": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declarationDir": "./dist",
"outDir": "./dist",
"typeRoots": ["node_modules/@types"]
},
"include": ["src/**/*.ts"],
"exclude": ["node_modues"]
}
এখানে, আমার প্রাথমিক প্রশ্নটি কী "esModuleInterop": true,এবং কী
"allowSyntheticDefaultImports": true,। আমি জানি তারা সাজানোর উপর নির্ভরশীল "module": "commonjs",। কেউ কি এটি সর্বোত্তম মানুষের ভাষায় ব্যাখ্যা করার চেষ্টা করতে পারেন?
allowSyntheticDefaultImportsরাজ্যগুলির জন্য সরকারী দস্তাবেজ
কোনও ডিফল্ট রফতানি ছাড়াই মডিউলগুলি থেকে ডিফল্ট আমদানির অনুমতি দিন। এটি কোড নির্গমনকে প্রভাবিত করে না, কেবল টাইপচেকিং।
এর মানে কি এটা? আমদানি ডিফল্টের একমাত্র ব্যবহারের ক্ষেত্রে যদি কোনও রফতানি ডিফল্ট না থাকে তবে কি কিছু শুরু করতে হবে? সিঙ্গলটনের মতো?
নিম্নলিখিত প্রশ্ন / উত্তরটি ততই অর্থপূর্ণ হয় না কী tsconfig --esModuleInterop এর পতাকা হিসাবে বিপরীতে ব্যবহার করার কোনও উপায় আছে?
এবং --esModuleInteropসংকলক পৃষ্ঠায় সংজ্ঞা
রানটাইম ব্যাবেল ইকোসিস্টেমের সামঞ্জস্যের জন্য __importStar এবং __importDefault সহায়কগুলি প্রেরণ করুন এবং টাইপ সিস্টেমের সামঞ্জস্যের জন্য --allowSynthetDefaultImports সক্ষম করুন।
আমার পক্ষে বুঝতে / বোঝা মুশকিল বলে মনে হয়েছিল
--esModuleInteropপতাকাটি প্রবর্তনের আগে সঠিকimport * as moment from 'moment'ছিল না ।import moment = require('moment')ছিল।