Elm একটি ফ্রন্ট-এন্ড ওয়েব প্রোগ্রামিং ভাষা, তাই এটি সরাসরি ফাইল সিস্টেমে অ্যাক্সেস পায় না। তবে, আপনি সাধারণত একটি কমান্ড JavaScript এ ব্যাক-এন্ড সার্ভিসে পাঠান। এখানে কিভাবে Elm এর সাথে এমন একটি ইন্টারঅ্যাকশন গঠন করতে পারেন.
কিভাবে:Elm ব্রাউজারে চালানো হয়, তাই এটির সরাসরি ফাইলসিস্টেমে অ্যাক্সেস নেই। তাই, আপনি পারম্পরিক অস্থায়ী ফাইল তৈরি করতে পারবেন না। কিন্তু, যদি আপনার এরকম একটা বৈশিষ্ট্যের প্রয়োজন হয়, আমরা Elm পোর্টস ব্যবহার করে JavaScript এর সাথে ইন্টার্যাক্ট করি, যা অস্থায়ী ফাইল তৈরি করতে পারে। port module Main exposing (..) – JavaScript এ একটি অস্থায়ী ফাইল তৈরির জন্য একটি পোর্ট নির্ধারণ করুন port createTempFile : String -> Cmd msg –একটি অস্থায়ী ফাইল তৈরি করার জন্য ডেটা JavaScript এ পাঠান saveDataTemporarily : String -> Cmd msg saveDataTemporarily data = createTempFile data JavaScript অংশের জন্য, File API ব্যবহার করে:
Elm মূলত ফ্রন্ট-এন্ড ওয়েব ডেভেলপমেন্টে মনোনিবেশ করে থাকে, যেখানে সরাসরি ফাইল সিস্টেম অ্যাক্সেস করা নিরাপত্তার কারণে একটি না-যাওয়া পথ। এর পরিবর্তে, আপনি ব্যবহারকারীদের দ্বারা ফাইল আপলোড নিয়ন্ত্রণ করেন। এখানে আপনি কিভাবে একটি টেক্সট ফাইল পড়তে পারেন যা একজন ব্যবহারকারী নির্বাচন করে.
Elm ব্রাউজারে চলে, তাই এটির প্রথাগত সার্ভার-সাইড বা ডেস্কটপ ভাষার মতো সরাসরি কমান্ড লাইন আর্গুমেন্টগুলির প্রত্যক্ষ অ্যাক্সেস নেই। তবে, উদাহরণ স্বরূপ, ধরা যাক আপনি Node.js এর মতো একটি সার্ভার-সাইড ফ্রেমওয়ার্কের সাথে Elm ব্যবহার করছেন elm server বা এরকম একটি সেটআপের মাধ্যমে যেটি আর্গুমেন্ট পাস করার অনুমতি দেয়। আপনার কোড সরাসরি আর্গুমেন্টগুলি সম্পর্কে যত্ন নেবে না, তবে আমরা প্যাটার্নটি অনুকরণ করব.
elm server
যেহেতু Elm ব্রাউজারে চলে এবং এটি বিনা সাইড ইফেক্টের একটি পিউর প্রোগ্রামিং ভাষা হওয়ার জন্য ডিজাইন করা হয়েছে, এটির সরাসরি ফাইল সিস্টেমে প্রবেশাধিকার নেই। সুতরাং, ফাইলে লেখা সাধারণত জাভাস্ক্রিপ্টে ডেটা পাঠানোর মাধ্যমে সম্পন্ন হয় পোর্টের মাধ্যমে। এখানে আপনি কিভাবে এটা সেটআপ করতে পারেন.
এলম মূলত ওয়েব ডেভেলপমেন্টের জন্য টার্গেট করা, যেখানে সরাসরি stderr এ লেখার ধারণাটি ঐতিহ্যবাহী কমান্ড-লাইন এনভায়রনমেন্টের মত একই রকম প্রযোজ্য নয়। তবে, Node.js বা তুলনামূলক এনভায়রনমেন্টগুলিতে চলমান এলম প্রোগ্রামের ক্ষেত্রে, JavaScript এর সাথে পোর্টস ব্যবহার করে ইন্টারঅপের মাধ্যমে একই রকম ফাংশনালিটি অর্জন করা সম্ভব। এটি সেট আপ করার পদ্ধতি এখানে.