2012-07-23 8 views
18

मैं एक Node.js एप्लिकेशन बनाने के लिए कोशिश कर रहा हूँ औरNode.js चेतावनी क्रैश

alert('Sample Alert'); 

मेरा कार्यक्रम के क्रैश होने का कारण है का कारण बनता है। नोड कहते हैं

ReferenceError: alert is not defined

और फिर छोड़ देता है। नियमित HTML पृष्ठ पर जावास्क्रिप्ट चलाते समय मैं alert फ़ंक्शन का उपयोग कर सकता हूं, इसलिए मुझे यह समझने में हानि हो रही है कि यह क्यों है ... क्या यह एक अलग मॉड्यूल है जिसे मुझे node.js के साथ उपयोग करना है?

अग्रिम धन्यवाद।

+8

बाहर कुछ भी [इस] (http://ecma-international.org/ecma-262/5.1/) नहीं नियमित जावास्क्रिप्ट – Esailija

+1

है @Esailija - तकनीकी रूप से नियमित रूप से जावास्क्रिप्ट * * 'चेतावनी होनी चाहिए चूंकि जावास्क्रिप्ट सामान्य रूप से ब्राउज़र में लागू ईसीएमएस्क्रिप्ट की एक शाखा है। आपका मतलब शायद ईसीएमएस्क्रिप्ट था। –

उत्तर

42

alert() फ़ंक्शन ब्राउज़र window ऑब्जेक्ट्स की एक संपत्ति है। यह वास्तव में जावास्क्रिप्ट का हिस्सा नहीं है; यह सिर्फ उस सुविधा में जावास्क्रिप्ट कोड के लिए उपलब्ध एक सुविधा है।

प्रयास करें console.log("Hello World");

+6

जो आप पूछ रहे हैं वह वास्तव में कोई समझ नहीं आता है।आपका सर्वर कोड किसी HTTP अनुरोध की प्रतिक्रिया के हिस्से के रूप में एक त्रुटि भेज सकता है, और उसके बाद, बदले में, क्लाइंट ब्राउज़र में चल रहे कुछ ** अलग ** जावास्क्रिप्ट कोड एक चेतावनी प्रस्तुत कर सकते हैं। उस जावास्क्रिप्ट कोड के साथ बहुत कम करना होगा जिसमें आपके सर्वर-साइड एप्लिकेशन शामिल हैं। – Pointy

6

alert() समारोह ही उपलब्ध है जब आप ब्राउज़र विंडो के विशेष संदर्भ में JavaScript निष्पादित। यह window ऑब्जेक्ट के माध्यम से उपलब्ध है।

नोड.जेएस डेस्कटॉप अनुप्रयोगों (सीधे) लिखने के लिए नहीं है। यह मुख्य रूप से सर्वर-साइड जावास्क्रिप्ट अनुप्रयोगों को लिखने के लिए है। यदि आप वास्तविक डेस्कटॉप एप्लिकेशन विकसित करना चाहते हैं तो आप निम्न ढांचे/पैकेज (और कई और) का उपयोग कर सकते हैं।

  • Electron
  • NW.js (पहले, नोड वेबकिट)

    NW.js is an app runtime based on Chromium and node.js . You can write native apps in HTML and JavaScript with NW.js. It also lets you call Node.js modules directly from the DOM and enables a new way of writing native applications with all Web technologies.

  • AppJS

    Available as an standalone distributable and an npm package


इस बीच, आप Node.js. में एक संदेश आउटपुट करने के लिए console.log() का उपयोग कर सकते हैं।

node -e "function alert(x){ 
      x === 'undefined' ? console.log('undefined') : console.log(x); return; 
     }; 
     alert('x'); alert();" 

परिणाम:

console.log('hello'); 
0

जबकि इन सवालों के जवाब 'सही', कोई चेतावनी समारोह ब्राउज़र की उपलब्ध बाहर वहाँ के रूप में कर रहे हैं, वहाँ कोई कारण नहीं है कि आप एक नहीं बना और फिर इसका इस्तेमाल कर सकते हैं:

x 
undefined 

तब आपको अपना मौजूदा कोड या उदाहरण या जो कुछ भी बदलने की आवश्यकता नहीं हो सकती है।

0

आपको कुंजी की प्रतीक्षा करने के लिए कोड की भी आवश्यकता होगी। यहाँ एक शुरुआत है:

process.stdin.on('char', function() { 
    var chunk = process.stdin.read(); 
    if (chunk !== null) { 
    process.stdout.write('data: ' + chunk + 'got?\n'); 
    } 
});