javascript JSHint এবং jQuery: '$' সংজ্ঞায়িত করা হয় না




(6)

নিম্নলিখিত JS:

(function() {
  "use strict";

  $("#target").click(function(){
    console.log("clicked");
  });

}());

উৎপাদনের:

test.js: line 5, col 3, '$' is not defined.

যখন JSHint 0.5.5 ব্যবহার করে linted। কোন ধারনা?

https://code.i-harness.com


আপনাকে যা করতে হবে তা "jquery": true সেট করুন "jquery": true আপনার .jshintrc "jquery": true

JSHint অপশন রেফারেন্স প্রতি:

jQuery

এই বিকল্পটি জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট লাইব্রেরি দ্বারা প্রকাশিত গ্লোবাল সংজ্ঞায়িত করে।


আপনি আপনার .jshintrc দুটি লাইন যোগ করতে পারেন

  "globals": {
    "$": false,
    "jQuery": false
  }

এই jshint বলে যে দুটি বৈশ্বিক ভেরিয়েবল আছে।


আপনি যদি ওয়েব স্টরম, পাইচার, রুবিমাইন, অথবা ইন্টেলিজ আইডিএএএএর মতো একটি ইন্টেলিজিজ এডিটর ব্যবহার করছেন:

ফাইল / সেটিংস / জাভাস্ক্রিপ্ট / কোড কোয়ালিটি সরঞ্জাম / JSHint এর পরিবেশ বিভাগে, jQuery চেকবাক্সটিতে ক্লিক করুন।


এখানে আপনার .jshintrc রাখা একটি সুখী সামান্য তালিকা
আমি সময় পাস এই তালিকা যোগ করা হবে।

{
  // other settings...
  // ENVIRONMENTS
  // "browser": true, // Is in most configs by default
  "node": true,
  // others (e.g. yui, mootools, rhino, worker, etc.)
  "globals": {
    "$":false,
    "jquery":false,
    "angular":false
    // other explicit global names to exclude
  },
}

স্বাভাবিক "JSHint গ্লোবালগুলি বন্ধ করুন" সুপারিশ করার পরিবর্তে, আমি এই সমস্যাটি সমাধানের জন্য মডিউল প্যাটার্ন ব্যবহার করার সুপারিশ করছি। এটি আপনার কোডটিকে "অন্তর্ভূক্ত রাখে" এবং একটি কর্মক্ষমতা বৃদ্ধি দেয় (পল আইরিশের "10 জিনিস যা আমি জ্যাকারি সম্পর্কে শিখেছি" এর উপর ভিত্তি করে)।

আমি এই মত আমার মডিউল নিদর্শন লিখতে ঝোঁক:

(function (window) {
    // Handle dependencies
    var angular = window.angular,
        $ = window.$,
        document = window.document;

    // Your application's code
}(window))

আপনি এই অন্যান্য কর্মক্ষমতা সুবিধা পেতে পারেন (আরো ব্যাখ্যা here ):

  • কোড minifying যখন, পাস window বস্তুর ঘোষণা পাশাপাশি minified পায়। যেমন window.alert() m.alert() হয়ে m.alert()
  • স্ব-এক্সিকিউটিভ বেনামী ফাংশনের ভিতরে কোড শুধুমাত্র window অবজেক্টের 1 টি উদাহরণ ব্যবহার করে।
  • window সম্পত্তি বা পদ্ধতিতে কল করার সময় আপনি চেজটি কাটবেন, সুযোগের চেইনটির ব্যয়বহুল ট্রান্সভারাল যেমন window.alert() (দ্রুত) vs alert() (ধীর) কর্মক্ষমতা রোধ করে।
  • "Namespacing" এবং প্রতিরোধের মাধ্যমে ফাংশন স্থানীয় সুযোগ (globals মন্দ)। যদি আপনি এই কোডটিকে আলাদা স্ক্রিপ্টগুলিতে ভাঙ্গতে চান তবে আপনি সেগুলির প্রতিটি স্ক্রিপ্টগুলির জন্য একটি সাবমিডেল তৈরি করতে পারেন এবং তাদের একটি প্রধান মডিউলে আমদানি করতে পারেন।

অনলাইন JSHint বাস্তবায়ন ব্যবহার করার সময় এই ত্রুটিটি ঠিক করতে:

  • "কনফিগারেশন" (পৃষ্ঠার মধ্যম কলামের শীর্ষে) ক্লিক করুন
  • "JQuery" সক্ষম করুন (নীচে "ASSUME" বিভাগের অধীনে)






jshint