সম্পাদনা : আমি এই ইউটিলিটি দিয়ে একটি ক্ষুদ্র এনপিএম মডিউল তৈরি করেছি। এটি ওয়েব এবং নোডে কাজ করে এবং আমি আমার নীচের উত্তরে কোডটির চেয়ে এটির চেয়ে বেশি সুপারিশ করি কারণ এটি আরও শক্তিশালী। এটি যদি আপনাকে ম্যানুয়ালি সেগুলি হিসাবে ইনপুট করে থাকে এবং ফলস্বরূপ নতুন লাইনগুলি সংরক্ষণ করার অনুমতি দেয় \n
এবং আপনি ইতিমধ্যে অন্য কোনও কিছুর জন্য যখন টেম্পলেট আক্ষরিক ট্যাগ ব্যবহার করেন তখন তার জন্য ফাংশন সরবরাহ করে: https://github.com/iansan5653/compress-tag
আমি জানি যে আমি এখানে উত্তর দিতে দেরি করেছি, তবে স্বীকৃত উত্তরটিতে লাইন বিরতির পরে ইনডেন্টগুলি না দেওয়ার বিপর্যয় রয়েছে, যার অর্থ আপনি কেবলমাত্র নিউলাইনগুলি থেকে বেরিয়ে খুব সুন্দর চেহারার কোডটি লিখতে পারবেন না।
পরিবর্তে, কেন একটি ট্যাগ টেমপ্লেট আক্ষরিক ফাংশন ব্যবহার করবেন না ?
function noWhiteSpace(strings, ...placeholders) {
// Build the string as normal, combining all the strings and placeholders:
let withSpace = strings.reduce((result, string, i) => (result + placeholders[i - 1] + string));
let withoutSpace = withSpace.replace(/\s\s+/g, ' ');
return withoutSpace;
}
তারপরে আপনি যে কোনও টেম্পলেটকে আক্ষরিক সাথে লাইন ব্রেক করতে চান তা ট্যাগ করতে পারেন:
let myString = noWhiteSpace`This is a really long string, that needs to wrap over
several lines. With a normal template literal you can't do that, but you can
use a template literal tag to allow line breaks and indents.`;
যদি ভবিষ্যতের বিকাশকারী ট্যাগযুক্ত টেম্পলেট সিনট্যাক্স ব্যবহার না করে বা আপনি যদি বর্ণনামূলক ফাংশনটির নাম ব্যবহার না করেন তবে সম্ভবত এটি অপ্রত্যাশিত আচরণের অপূর্ণতা রয়েছে তবে এটি আপাতত সবচেয়ে পরিষ্কার সমাধান বলে মনে হয়।