2012-01-27 16 views
114

कहीं भी यह जवाब नहीं मिला, लेकिन मुझे कई मेलिंग सूचियां मिलीं, जहां इस पर चर्चा हुई, हालांकि ये पुराने हैं, लेकिन मुझे नहीं पता कि यह लागू किया गया है या नहीं।नोड में सख्त मोड को मजबूर करने का कोई तरीका?

क्या node.js में सख्त मोड का उपयोग करने के लिए मजबूर करने के लिए वैसे भी है?

मेरी सभी .js फ़ाइलों में "use strict"; लिख रहा है ... अच्छा, मैं इसे अतिरिक्त बॉयलरप्लेट जोड़ने के बजाय सख्त मोड का उपयोग करने के लिए मजबूर होना पसंद करता हूं।

उत्तर

171

लॉयड के मुताबिक अब आप

"use strict"; 

अपनी फ़ाइल के शीर्ष पर नोड> = 0.10.7 में जगह कर सकते हैं, लेकिन सख्त (बाहरी मॉड्यूल सहित में चलाने के लिए अपने पूरे एप्लिकेशन अगर आप चाहते हैं) आप इस

node --use_strict

+0

EEK: fs.js: 1497 समारोह फेंकना() { ^^^^^^^^ सिंटैक्स त्रुटि: सख्त मोड कोड में, कार्यों केवल शीर्ष स्तर पर या तुरंत एक समारोह के भीतर घोषित किया जा सकता। – j03m

+0

आपके द्वारा उपयोग किए जा रहे मॉड्यूल में से एक सख्त नियमों का पालन नहीं कर रहा है –

+2

हाँ, जो मेरे बिंदु की तरह था, यह fs में है। – j03m

16

तुम भी मामला दुभाषिया के निर्देश पर सख्त ध्वज प्रदान कर सकते हैं कर सकते हैं।

#!/usr/bin/env node --use_strict 

लेकिन वर्तमान में (कम से कम पूर्व v0.9.x) यह एक ही समस्या है @ चाड-scira के जवाब पर चर्चा में टिप्पणी द्वारा वर्णित भुगतना पड़ता है।

+0

'env' आपको ऐसे पैरामीटर पास करने की अनुमति नहीं देता है, है ना? – Letharion

+0

ओएसएक्स 10.9.4 पर मेरे लिए काम करता है। –

+1

हाँ - अभी भी एक भयानक लागू सम्मेलन का उदाहरण है, जो फ़ाइल की शीर्ष पर होने वाली कोड की दो प्रतिस्पर्धी रेखाएं हैं। – aaaaaa

53

नोड 0.10.7 में आप अपनी फ़ाइल के शीर्ष पर "use strict"; रख कर फ़ाइल स्तर पर सख्त मोड लागू कर सकते हैं। आखिरकार!

+4

अंत में :) बहुत बुरा मैं केवल एक जवाब चिह्नित कर सकता हूं :( –

23

तुम भी उपयोग करें

https://npmjs.org/package/use-strict

है कि, एक बार

require('use-strict') 

लिख सकते हैं या यहां तक ​​कि एक कदम आगे ले जा सकते हैं और

https://npmjs.org/package/node-strict

का उपयोग कृपया ध्यान दें कि use-strict मर्जी आमंत्रण के बाद आवश्यक प्रत्येक मॉड्यूल पर सख्त अधिक बारी।

आप एक नहीं इनवेसिव दृष्टिकोण पसंद करते हैं, मैं एक मॉड्यूल

https://www.npmjs.org/package/strict-mode

जो केवल अपने पैकेज में सख्त मोड को सक्षम लिखा था। मुझे लगता है कि यह एक "डू व्हाट मी मीन" समाधान है।

संबंधित मुद्दे