আইসি 10 + (কোনও ES6 মডিউল লোডিং ইত্যাদি নয়) এর জন্য কাজ করা দরকার এমন একটি উত্তরাধিকার অ্যাপ্লিকেশনটিতে লাইব্রেরি কোডের জন্য আমার আইআইএফই ফাংশন রয়েছে।
যাইহোক, আমি একটি প্রতিক্রিয়া অ্যাপ্লিকেশন বিকাশ করতে শুরু করছি যা ES6 এবং টাইপস্ক্রিপ্ট ব্যবহার করবে এবং আমি ফাইলগুলি নকল না করেই আমার ইতিমধ্যে থাকা কোডটি পুনরায় ব্যবহার করতে চাই। কিছুটা গবেষণার পরে আমি দেখতে পেলাম যে এই লাইব্রেরি ফাইলগুলিকে <script src=*>
আমদানি হিসাবে উভয়ই কাজ করতে দেয় এবং প্রতিক্রিয়া অ্যাপ্লিকেশনটিকে ES6 মডিউল লোডিংয়ের মাধ্যমে সেগুলি আমদানি করার অনুমতি দিতে আমি একটি ইউএমডি প্যাটার্ন ব্যবহার করতে চাই ।
আমি নিম্নলিখিত রূপান্তর নিয়ে এসেছি:
var Utils = (function(){
var self = {
MyFunction: function(){
console.log("MyFunction");
}
};
return self;
})();
প্রতি
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.Utils = {})));
}(this, (function (exports) {
exports.MyFunction = function(){
console.log("MyFunction");
};
})));
এটি Import Utils from './Utils.js'
কমান্ডের মাধ্যমে লোডিংয়ের অনুমতি দেবে এবং স্ক্রিপ্ট ট্যাগ ব্যবহার করে এটি সন্নিবেশ করার অনুমতি দেবে<script src='Utils.js'></script>
যাইহোক, আমার আইআইএফইর কিছু অন্যান্য আইআইএফই এর নির্ভরতা হিসাবে ব্যবহার করে (খারাপ আমি জানি তবে একটি বাস্তবতা)।
var Utils = Utils; // Used to indicate that there is dependency on Utils
var RandomHelper = (function(){
var self = {
DoThing: function(){
Utils.MyFunction();
}
};
return self;
})();
যদি সঠিকভাবে চালু RandomHelper
এবং Utils
যে আমদানি করা যায় ফাইল মধ্যে, প্রতিক্রিয়া অ্যাপ্লিকেশান এই কৌশল নিয়ে সামঞ্জস্যপূর্ণ নয়। সহজভাবে করছেন
Import Utils from './Utils.js'
Import RandomHelper from './RandomHelper.js'
কাজ করে না কারণ আমি বিশ্বাস করি ইউটিসগুলি উইন্ডো স্কোপড নয়। এটি ইস্যু ছাড়াই লোড হবে তবে RandomHelper.DoThing()
ফেলে দেবে যে ইউটিলগুলি সংজ্ঞায়িত করা হয়নি।
উত্তরাধিকার অ্যাপ্লিকেশন এ
<script src='Utils.js'></script>
<script src='RandomHelper.js'></script>
নির্দোষভাবে কাজ করে।
আমি কীভাবে র্যান্ডমহেল্পারকে আইই এবং ইএস 5 সামঞ্জস্যপূর্ণ রেখে একটি প্রতিক্রিয়া অ্যাপ্লিকেশনটিতে ইউটিস ব্যবহার করতে সক্ষম হতে পারি তবে এখনও প্রতিক্রিয়াতে কাজ করে work সম্ভবত কোনওরকম একটি উইন্ডো / বৈশ্বিক চলক সেট করছেন?
PS: আমি বুঝেছি ES6 মডিউল লোডিংয়ের বিষয়টি নির্ভরতাগুলি মোকাবেলা করা এবং আমার বিদ্যমান আইআইএফই আদর্শ নয়। আমি শেষ পর্যন্ত এস classes টি ক্লাস এবং আরও ভাল নির্ভরতা নিয়ন্ত্রণে স্যুইচ করার পরিকল্পনা করছি তবে আপাতত পুনরায় লেখার ছাড়াই যা পাওয়া যায় তা ব্যবহার করতে চাই