"কঠোর মোড" কী এবং এটি কীভাবে ব্যবহৃত হয়?


134

আমি মোজিলা বিকাশকারী নেটওয়ার্কে জাভাস্ক্রিপ্ট রেফারেন্সটি দেখছি এবং আমি ডাকা কিছু পেয়েছি "strict mode"। আমি এটি পড়েছি এবং এটি কী করে তা বুঝতে আমার সমস্যা হচ্ছে। কেউ কী সংক্ষেপে ব্যাখ্যা করতে পারেন (সাধারণভাবে) এর উদ্দেশ্য কী এবং এটি কীভাবে কার্যকর?


2
সম্পর্কিত: stackoverflow.com/q/1335851/1461424
sampathsris

উত্তর:


149

এর মূল উদ্দেশ্যটি আরও চেক করা।

"use strict";অন্য কোনও কিছুর আগে আপনার কোডের শীর্ষে যুক্ত করুন ।

উদাহরণস্বরূপ, blah = 33;বৈধ জাভাস্ক্রিপ্ট। এর অর্থ আপনি একটি সম্পূর্ণ বৈশ্বিক পরিবর্তনশীল তৈরি করেন blah

তবে কঠোর মোডে এটি একটি ত্রুটি কারণ আপনি ভেরিয়েবলটি ঘোষণার জন্য "var" কীওয়ার্ডটি ব্যবহার করেন নি।

বেশিরভাগ সময় আপনি কিছু স্বেচ্ছাসেবীর সুযোগের মাঝে বৈশ্বিক পরিবর্তনগুলি তৈরি করতে চাইছেন না, তাই বেশিরভাগ সময় যা blah = 33লেখা হয় এটি একটি ত্রুটি এবং প্রোগ্রামার আসলে এটি বিশ্বব্যাপী পরিবর্তনশীল হতে চায়নি, তারা বোঝায় লিখতে var blah = 33

এটি একইভাবে অনেকগুলি জিনিসকে অস্বীকার করে যা করার জন্য প্রযুক্তিগতভাবে বৈধ। NaN = "lol"একটি ত্রুটি উত্পাদন করে না। এটি NaN এর মানও পরিবর্তন করে না। এই (এবং অনুরূপ উদ্ভট বিবৃতি) কঠোরভাবে ব্যবহার করা ত্রুটি তৈরি করে। কখনও লেখার কোনও কারণ নেই বলে বেশিরভাগ লোক এটি প্রশংসা করে NaN = "lol", তাই সম্ভবত টাইপো ছিল।

কঠোর মোডে MDN পৃষ্ঠাতে আরও পড়ুন


4
এটি MDN
nkcmr

23
এর ইউটিলিটি সম্পর্কে আপনি কী বুঝতে পারবেন না? এটি বৈধ-তবে-সম্ভবত-সম্ভবত-ত্রুটিযুক্ত জিনিসগুলি ধরে ধরে উন্নয়নে সহায়তা করা।
সাইমন স্যারিস

34

সাইমন এর উত্তরে ইতিমধ্যে উল্লেখ না করা কড়া মোডের একটি দিক হ'ল ফাংশন আমন্ত্রণের মাধ্যমে কড়া মোড সেট thisকরা undefinedহয় functions

সুতরাং এই জিনিস

function Obj() {
   this.a = 12;
   this.b = "a";
   this.privilegedMethod = function () {
      this.a++;
      privateMethod();
   };

   function privateMethod() {
     this.b = "foo";
   }
}

অকার্যকরভাবে বিশ্বব্যাপী অবজেক্টে কোনও সম্পত্তি যুক্ত করার পরিবর্তে privateMethodডেকে এলে ত্রুটি ঘটবে (যেহেতু আপনি কোনও সম্পত্তি যুক্ত করতে পারবেন না undefined) b


4
হ্যাঁ যোগ করতে privateMethod.bind(this)();এবং কল করতে হবেnew jsbin.com
এইচএলসিএস

কঠোর মোডে সর্বাধিক গুরুত্বপূর্ণ বিধিনিষেধ: ডকস.মাইক্রোসফট.ইন
কৃষ্ণ মোহন

21

কঠোর মোড যুক্ত করা হয়েছিল যাতে একামাস্ক্রিপ্টের একটি সহজেই স্ট্যাটিক্যালি-বিশ্লেষণযোগ্য উপসেট হতে পারে যা ভাষার ভবিষ্যতের সংস্করণগুলির জন্য একটি ভাল লক্ষ্য হবে। কঠোর মোডটি এই আশায়ও তৈরি করা হয়েছিল যে বিকাশকারীরা যারা নিজেকে কঠোর মোডে সীমাবদ্ধ করেন তারা কম ভুল করবেন এবং তারা যে বাগগুলি করেন তা আরও সুস্পষ্ট উপায়ে প্রকাশিত হবে।

হারমনি , যা আশা ECMAScript পরবর্তী প্রধান সংস্করণ হয়ে যাবে ES5 কঠোর উপরে নির্মাণ করা যাচ্ছে।

সুরক্ষা অনেকগুলি মোড এড়ানোর জন্য ES5 কঠোর মোডে তৈরি করে।

কিছু অন্যান্য ভাষা পরীক্ষাও কঠোর মোডের উপর নির্ভর করে। এসইএস ES5 কঠোর মোডের বিশ্লেষণযোগ্যতার উপর নির্ভর করে।

এসইএস (সিকিউর ইসকামাস্ক্রিপ্ট) ডিজাইন এক্সপেরিমেন্ট

ইএস 5 / স্ট্রাইক্টের বৈশিষ্ট্যগুলি সরিয়ে বা মেরামত করে একটি অবজেক্ট ক্যাপিলিটি প্রোগ্রামিং ল্যাঙ্গুয়েজ ডিজাইন করুন।

এসইএস থেকে ইএস 5 / স্ট্রাইক থেকে সরাসরি-ফরোয়ার্ড অনুবাদ হওয়া উচিত।

স্ট্যান্ডার্ডটির আনেক্সেক্স সি কঠোর মোড এবং স্বাভাবিক মোডের মধ্যে পার্থক্য ব্যাখ্যা করে।

কঠোর মোডের সীমাবদ্ধতা এবং ব্যতিক্রম

  • সনাক্তকারীদের "প্রয়োগসমূহ", "ইন্টারফেস", "লেট", "প্যাকেজ", "ব্যক্তিগত", "সুরক্ষিত", "পাবলিক", "স্ট্যাটিক" এবং "ফলন" কঠোর মোড কোডের মধ্যে ফিউচাররাইজার্ড ওয়ার্ড টোকেন হিসাবে শ্রেণিবদ্ধ করা হয়েছে। (7.6.12 [?])।
  • কঠোর মোড কোড প্রক্রিয়াকরণ করার সময়, একটি যথাযথ বাস্তবায়ন, B.1.1-তে বর্ণিত হিসাবে OctalIntegerLiteral অন্তর্ভুক্ত করার জন্য নিউমারিকালিটালাল (7.8.3) এর বাক্য গঠনটি প্রসারিত করতে পারে না।
  • যথাযথ মোড কোড প্রক্রিয়াকরণের (10.1.1 দেখুন) একটি যথাযথ বাস্তবায়ন, B.1.2 তে বর্ণিত অ্যাক্টালেক্টপ সিকোয়েন্সকে অন্তর্ভুক্ত করার জন্য এস্কেপ সিকোয়েন্সের বাক্য গঠনকে প্রসারিত করতে পারে না।
  • একটি অঘোষিত শনাক্তকারী বা অন্যথায় অগ্রহণযোগ্য রেফারেন্সকে অর্পণ করা বিশ্বব্যাপী অবজেক্টে কোনও সম্পত্তি তৈরি করে না। যখন কঠোর মোড কোডের মধ্যে একটি সাধারণ অ্যাসাইনমেন্ট ঘটে তখন তার বাম দিকের হ্যান্ডসাইড অবশ্যই একটি অদৃশ্যযোগ্য উল্লেখের জন্য মূল্যায়ন করতে হবে না। যদি এটি একটি রেফারেন্সইরর ব্যতিক্রম হয় তবে নিক্ষেপ করা হবে (8.7.2)। বাম দিকের হ্যান্ডসাইড এছাড়াও বৈশিষ্ট্য মান with [[লিখিত]]: মিথ্যা with, অ্যাট্রিবিউট মান with [[সেট]]: অনির্ধারিত}, বা অস্তিত্বের সাথে কোনও ডেটা সম্পত্তি সম্পর্কিত কোনও রেফারেন্স নাও হতে পারে এমন একটি সামগ্রীর সম্পত্তি যার [[এক্সটেনসিবল]] অভ্যন্তরীণ সম্পত্তির মানটি মিথ্যা। এই ক্ষেত্রে একটি প্রকারেররর ব্যতিক্রম নিক্ষেপ করা হয় (১১.১৩.১)
  • সনাক্তকারী আইওয়াল বা তর্কগুলি একটি অ্যাসাইনমেন্ট অপারেটরের (11.13) বা পোস্টফিক্স এক্সপ্রেসনের (11.3) বা বামহিকিত এক্সপ্রেশন হিসাবে প্রিফিক্স বর্ধন (11.4.4) বা একটি প্রিফিক্স হ্রাস (11.4.5) অপারেটরের দ্বারা পরিচালিত হিসাবে প্রদর্শিত হতে পারে না । কঠোর মোড ফাংশনগুলির জন্য আর্গুমেন্ট অবজেক্টগুলি "কলার" এবং "কলি" নামক অ-কনফিগারযোগ্য অ্যাক্সেসরের বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে যা অ্যাক্সেসের ক্ষেত্রে টাইপ-এররর ব্যতিক্রম (10.6) ফেলে দেয়।
  • কঠোর মোড ফাংশনগুলির জন্য আর্গুমেন্ট অবজেক্টগুলি তাদের ক্রিয়াকলাপের আনুষ্ঠানিক প্যারামিটার বাইন্ডিংগুলির সাথে তাদের অ্যারে সূচকযুক্ত সম্পত্তি মানগুলি গতিশীলভাবে ভাগ করে না। (10.6)। কঠোর মোড ফাংশনগুলির জন্য, যদি একটি আর্গুমেন্ট অবজেক্ট তৈরি হয় আর্গুমেন্টের সাথে স্থানীয় সনাক্তকারী আর্গুমেন্টের বাঁধাই অপরিবর্তনীয় এবং তাই কোনও অ্যাসাইনমেন্ট এক্সপ্রেশনের লক্ষ্য নাও হতে পারে। (10.5)।
  • কঠোর মোড কোডে কোনও ডেটা সম্পত্তি (১১.১.৫) এর একাধিক সংজ্ঞা সহ একটি অবজেক্টলিটারাল থাকলে এটি একটি সিনট্যাক্স এরির is এটি আইডেন্টিফায়ার "অ্যাভাল" বা আইডেন্টিফায়ার "আর্গুমেন্টস" সনাক্তকারী হিসাবে পরিচয় হিসাবে চিহ্নিত হয় কোনও সম্পত্তিঅ্যাসাইনমেন্টের কোনও সম্পত্তিঅ্যাসাইনমেন্টের তালিকাতে বা যদি এর ফাংশনবডি কঠোর কোড (11.1.5) থাকে তবে এটি একটি সিনট্যাক্সেরর is
  • কঠোর মোডের ইভাল কোডটি কলারের পরিবর্তনশীল পরিবেশে ভেরিয়েবল বা ফাংশন ইনস্টল করতে পারে না al পরিবর্তে, একটি নতুন ভেরিয়েবল পরিবেশ তৈরি করা হয় এবং সেই পরিবেশটি ইভাল কোড (10.4.2) এর জন্য ঘোষণামূলক বাধ্যতামূলক ইনস্ট্যান্টেশন জন্য ব্যবহৃত হয়।
  • যদি এটি কঠোর মোড কোডের মধ্যে মূল্যায়ন করা হয়, তবে এই মানটি কোনও বস্তুর কাছে জোর করে না। নাল বা অপরিবর্তিত এই মানটি বৈশ্বিক বস্তুতে রূপান্তরিত হয় না এবং আদিম মানগুলি মোড়কের বস্তুতে রূপান্তরিত হয় না। এই মানটি একটি ফাংশন কলের মাধ্যমে পাস করা হয়েছে (ফাংশন.প্রোটোটাইপ.অ্যাপ্লি এবং ফাংশন.প্রোটোটাইপ। কল ব্যবহার করে করা কলগুলি সহ) এই মানটিকে কোনও বস্তুর (10.4.3, 11.1.1, 15.3.4.3, 15.3 তে জোর করে না। 4.4)।
  • যখন কোনও মুছুন অপারেটর কঠোর মোড কোডের মধ্যে দেখা দেয়, তখন যদি তার ইউনিারি এক্সপ্রেসনটি একটি চলক, ফাংশন আর্গুমেন্ট বা ফাংশন নাম (১১.৪.১) এর প্রত্যক্ষ রেফারেন্স হয় তবে একটি সিনট্যাক্সেরর ফেলে দেওয়া হয়।
  • যখন কোনও মুছুন অপারেটর কঠোর মোড কোডের মধ্যে দেখা দেয়, তখন মুছে ফেলা সম্পত্তিটি যদি be [[কনফিগারযোগ্য]] বৈশিষ্ট্য: মিথ্যা} (১১.৪.১) থাকে তবে একটি টাইপরর নিক্ষেপ করা হয়। এটি যদি একটি ভেরিয়েবলডিক্লেয়ারেশন বা ভেরিয়েবলডেক্লারেশননইইন কোনও কঠোর কোডের মধ্যে না ঘটে এবং এর পরিচয়কাকারী স্পষ্ট বা আর্গুমেন্ট (12.2.1) হয় তবে এটি একটি সিনট্যাক্সেরর is
  • কঠোর মোড কোডটিতে একটি উইস্টস্টমেন্ট অন্তর্ভুক্ত নাও হতে পারে। এই জাতীয় প্রসঙ্গে একটি উইটস্টেটমেন্টের ঘটনাটি একটি সিনট্যাক্সেরর (12.10)।
  • কড়া কোডের মধ্যে যদি ক্যাচ সহ একটি ট্রাইস্টেটমেন্ট ঘটে এবং ক্যাচ উত্পাদনের সনাক্তকারী স্পষ্ট বা আর্গুমেন্ট হয় তবে এটি একটি সিনট্যাক্স এরির (12.14.1)
  • এটি একটি সিনট্যাক্স ইরর, যদি সনাক্তকারী ইওল বা তর্কগুলি কঠোর মোডের ফাংশনডেকলেশন বা ফাংশনএক্সপ্রেসনের (13.1) ফর্মালপ্যারামিটারলিস্টের মধ্যে উপস্থিত হয় if
  • একটি কঠোর মোড ফাংশনে দুটি বা ততোধিক ফর্মাল প্যারামিটারগুলির একই নাম নাও থাকতে পারে। একটি ফাংশনডিক্লারেশন, ফাংশনএক্সপ্রেসন বা ফাংশন কনস্ট্রাক্টর ব্যবহার করে এ জাতীয় ফাংশন তৈরির একটি প্রচেষ্টা একটি সিনট্যাক্সেরর (13.1, 15.3.2)।
  • এই স্পেসিফিকেশনে সংজ্ঞায়িত ছাড়াই কোনও প্রয়োগকরণ প্রসারিত হতে পারে না, কলার নামে চিহ্নিত বৈশিষ্ট্যগুলির ফাংশন বা ফাংশনের উদাহরণগুলির যুক্তিগুলির কঠোর মোড ফাংশনের মধ্যে অর্থ। ইসমাস্ক্রিপ্ট কোড ফাংশন অবজেক্টগুলিতে এই নামের সাথে বৈশিষ্ট্য তৈরি বা সংশোধন করতে পারে না যা কঠোর মোড ফাংশনের সাথে মিলিত হয় (10.6, 13.2, 15.3.4.5.3)।
  • এটি কঠোর মোড কোডের মধ্যে শনাক্তকারীদের ফাংশনডিক্লেয়ারেশন বা ফাংশনএক্সপ্রেশনের সনাক্তকারী হিসাবে বা একটি আনুষ্ঠানিক প্যারামিটারের নাম হিসাবে (13.1) মোড কোডের মধ্যে ব্যবহার করা একটি সিনট্যাক্স এরির। ফাংশন কনস্ট্রাক্টর (15.3.2) ব্যবহার করে এই জাতীয় একটি কঠোর মোড ফাংশনকে গতিশীলভাবে সংজ্ঞায়িত করার চেষ্টা করা একটি সিনট্যাক্সেরর ব্যতিক্রম ছুঁড়ে ফেলবে।

6

ইসমাস্ক্রিপ্ট 5 কঠোর মোডের ধারণাটি চালু করেছিল ।

কোডটিতে কঠোর মোডটি চালানো হচ্ছে

কঠোর মোড পুরো স্ক্রিপ্টগুলিতে বা স্বতন্ত্র ফাংশনে প্রযোজ্য। এটি}} বন্ধনীগুলিতে আবদ্ধ ব্লক বিবৃতিতে প্রযোজ্য নয়, এ জাতীয় প্রসঙ্গে এটি প্রয়োগ করার চেষ্টা করার ফলে কিছুই হয় না।

পুরো স্ক্রিপ্ট:

ধরা যাক আমরা অ্যাপ.জেস তৈরি করছি তাই প্রথম বিবৃতি ব্যবহারের স্ক্রিপ্ট যুক্ত করা পুরো কোডের জন্য কঠোর মোড প্রয়োগ করবে।

// app.js whole script in strict mode syntax
use strict”;
// Now you can start writing your code 

ফাংশনের জন্য কঠোর মোড:

কোনও ক্রিয়াকলাপের জন্য কঠোর মোড আহ্বান করতে, সঠিক বিবৃতিটি "কঠোর ব্যবহার করুন" রাখুন; অন্য কোনও বিবৃতি দেওয়ার আগে ফাংশন বডিটির শুরুতে।

function yourFunc(){
 "use strict";

 // Your function code logic
}

কড়া মোড সাধারণ জাভাস্ক্রিপ্ট শব্দার্থবিজ্ঞানের বিভিন্ন পরিবর্তন অন্তর্ভুক্ত করে। প্রথম কঠোর মোড কিছু ত্রুটি নিক্ষেপ করে জাভাস্ক্রিপ্ট নীরব ত্রুটি তাদের পরিবর্তন করে।

দৃষ্টান্তের জন্য: স্ট্রাইক মোড ব্যবহার করে কোড

এখানে চিত্র বর্ণনা লিখুন

উপরের কোড উদাহরণে কোডে কঠোর মোড ব্যবহার না করে এটি কোনও ত্রুটি ছুঁড়ে না ফেলে। যেহেতু আমরা xএটি ঘোষণা না করে ভেরিয়েবল অ্যাক্সেস করছি। সুতরাং কঠোর মোডে অঘোষিত ভেরিয়েবল অ্যাক্সেস একটি ত্রুটি নিক্ষেপ।

এখন আসুন কঠোর মোড ছাড়াই এটি ঘোষণা না করে পরিবর্তনশীল এক্স অ্যাক্সেস করার চেষ্টা করি try

(function(){
    x = 3;
})();

// Will not throw an error

কঠোর মোড ব্যবহারের সুবিধা:

  • জাভাস্ক্রিপ্ট নীরব ত্রুটি নিক্ষেপ করে মুছে ফেলুন।
  • ভুলগুলি সমাধান করে যা জাভাস্ক্রিপ্ট ইঞ্জিনটির অপ্টিমাইজেশন করা কঠিন করে তোলে।
  • কঠোর মোডে নেই এমন অভিন্ন কোডের তুলনায় কোডটি কখনও কখনও দ্রুত চালান
  • ECMAScript এর ভবিষ্যত সংস্করণে সংজ্ঞায়িত হওয়ার মতো কিছু সিনট্যাক্স নিষিদ্ধ করে।

5

কড়া মোড সাধারণ জাভাস্ক্রিপ্ট শব্দার্থবিজ্ঞানের বিভিন্ন পরিবর্তন করে।

  • কড়া মোড কিছু ত্রুটি নিক্ষেপ করে জাভাস্ক্রিপ্টের নীরব ত্রুটিগুলি মুছে ফেলে in

  • কড়া মোড এমন ভুলগুলি সংশোধন করে যা জাভাস্ক্রিপ্ট ইঞ্জিনগুলির জন্য অপ্টিমাইজেশন সম্পাদন করা কঠিন করে তোলে।

  • ECMAScript এর ভবিষ্যত সংস্করণগুলিতে সংজ্ঞায়িত হওয়ার সম্ভাব্য কিছু সিনট্যাক্সকে কঠোর মোড নিষিদ্ধ করে।


1

ECMAScript5 কিছু নতুন বস্তু এবং বৈশিষ্ট্য এবং তথাকথিত পরিচয় করিয়ে দেয় "strict mode"

কঠোর মোড হ'ল ভাষার একটি উপসেট যা অবচিত বৈশিষ্ট্যগুলি বাদ দেয়। কড়া মোডটি অপ্ট-ইন এবং প্রয়োজনীয় নয়, এর অর্থ হল আপনি যদি আপনার কোডটি কঠোর মোডে চালিত করতে চান তবে আপনি নিম্নলিখিত স্ট্রিংটি (একবার প্রতি ফাংশনে বা পুরো প্রোগ্রামের জন্য একবার) ব্যবহার করে আপনার অভিপ্রায়টি ঘোষণা করেন:

"use strict";

1

2017 এবং আমি অবশেষে ডকুমেন্টেশন পেয়েছি: https://developer.mozilla.org/en-US/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স /
স্ট্রাইক_মোড

কড়া মোড জাভাস্ক্রিপ্টের একটি সীমাবদ্ধ বৈকল্পিক চয়ন করতে একটি উপায়। কড়া মোড কেবল একটি উপসেট নয়: এটি ইচ্ছাকৃতভাবে স্বাভাবিক কোড থেকে আলাদা শব্দার্থক রয়েছে। কড়া মোডকে সমর্থন করে না এমন ব্রাউজারগুলি যে ব্রাউজারগুলির বিভিন্ন আচরণ সহ কঠোর মোড কোড চালায়, তাই কঠোর মোডের প্রাসঙ্গিক দিকগুলির সমর্থনের জন্য বৈশিষ্ট্য-পরীক্ষা ছাড়া কঠোর মোডের উপর নির্ভর করবেন না। কঠোর মোড কোড এবং অ-কঠোর মোড কোড সহাবস্থান করতে পারে, তাই স্ক্রিপ্টগুলি ক্রমবর্ধমানভাবে কঠোর মোডে বেছে নিতে পারে।


কড়া মোড সাধারণ জাভাস্ক্রিপ্ট শব্দার্থবিজ্ঞানের বিভিন্ন পরিবর্তন করে। প্রথমত, কঠোর মোড কিছু ত্রুটি নিক্ষেপ করে জাভাস্ক্রিপ্ট নীরব ত্রুটিগুলি তাদের পরিবর্তন করে মুছে দেয়। দ্বিতীয়ত, কঠোর মোড এমন ভুলগুলি সংশোধন করে যা জাভাস্ক্রিপ্ট ইঞ্জিনগুলিকে অপ্টিমাইজেশন সম্পাদন করা কঠিন করে তোলে: কখনও কখনও কঠোর মোড কোড নয় এমন অভিন্ন কোডের চেয়ে দ্রুত চালানোর জন্য কঠোর মোড কোড তৈরি করা যেতে পারে। তৃতীয়ত, কঠোর মোড কিছু সিনট্যাক্সকে ECMAScript এর ভবিষ্যত সংস্করণগুলিতে সংজ্ঞায়িত হতে পারে its


0

প্রশ্ন:
আমি যে সমস্যার মুখোমুখি হয়েছি তা নিম্নলিখিত, আমি একটি টিউটোরিয়াল অনুসরণ করছিলাম এবং এটি নিম্নলিখিত scssফাইলটি সংকলনের চেষ্টা করে এবং এটি থেকে সিএসএস কোড উত্পন্ন করার চেষ্টা করেছিল,

.fatty{
  width: percentage(6/7);
}

নিম্নলিখিত gulpfile.jsটাস্ক ব্যবহার :

var gulp = require('gulp');
var sass = require('gulp-sass');

gulp.task('sass', function () {
    return gulp.src('app/scss/styles.scss')
        .pipe(sass())
        .pipe(gulp.dest('app/css'))
});

সুতরাং আমি যে ত্রুটিটি পাচ্ছি তা হ'ল:

~/htdocs/Learning/gulp1/node_modules/gulp-sass/index.js:66
    let sassMap;
    ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
// stacktrace here...

সমাধান:
সুতরাং এটি আমার index.jsফাইলটি দেখায় যা আমার গুলপ-স্যাস মডিউলটির ভিতরে রয়েছে (যা মূলত লক করা আছে এবং এটি সম্পাদনা করা উচিত নয়)। তবে যদি আমি জোর করে যাই এবং "use_strict"সেই index.jsফাইলের শীর্ষে যোগ করি তবে এটি আমার কাজটি সুচারুভাবে চালায়।

আমি অসহায় ছিলাম, তাই আমি সমাধান হিসাবে এটি ব্যবহার করে যাচ্ছি! তবে তারপরে অন্য কোনও এসও প্রশ্নোত্তর পর্বের পরে আমি নিম্নলিখিত উত্তরগুলি নীচের মত দেখতে পেলাম :

sudo npm install -g n
sudo n stable

এবং যত তাড়াতাড়ি আমি আমার নোডজেগুলি আপডেট করেছি (সংস্করণ 10.x এ), এবং তারপরে টার্মিনাল আমাকে নির্দেশিত হিসাবে নিম্নলিখিত কমান্ডগুলি চালিয়ে গুলপ পুনর্নির্মাণ:

npm rebuild node-sass --force

এবং সব ঠিক আছে। সুতরাং এটি কিভাবে সমাধান করা হয়েছে। index.jsগুল্প মডিউল ফাইলের জন্য আমি যে পরিবর্তনগুলি করেছি তা পূর্বাবস্থায় ফেলেছি । এবং এখন এটি মসৃণভাবে চলে।

আশা করি এই উত্তরটি কারও পক্ষে উপকারী হবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.