การแจ้งเตือน Node.js ทำให้เกิดความผิดพลาด

ฉันกำลังพยายามสร้างแอป node.js และ

alert('Sample Alert');

ทำให้โปรแกรมของฉันพัง โหนดพูดว่า

ReferenceError: ไม่ได้กำหนดการแจ้งเตือน

แล้วก็เลิก ฉันสามารถใช้ฟังก์ชัน alert เมื่อเรียกใช้ javascript บนหน้า html ปกติได้ ดังนั้นฉันจึงไม่เข้าใจว่าทำไมจึงเป็นเช่นนี้... นี่เป็นโมดูลแยกต่างหากที่ฉันต้องใช้กับ node.js หรือไม่


person gtmtg    schedule 23.07.2012    source แหล่งที่มา
comment
สิ่งใดก็ตามภายนอก สิ่งนี้ ไม่ใช่จาวาสคริปต์ปกติ   -  person Esailija    schedule 23.07.2012
comment
@Esailija - JavaScript ปกติทางเทคนิค ควร มี alert เนื่องจาก JavaScript เป็นสาขาหนึ่งของ ECMAScript ที่ปกติใช้งานในเบราว์เซอร์ สิ่งที่คุณหมายถึงอาจเป็น ECMAScript   -  person Derek 朕會功夫    schedule 20.07.2014


คำตอบ (7)


ฟังก์ชัน alert() เป็นคุณสมบัติของวัตถุเบราว์เซอร์ window มันไม่ได้เป็นส่วนหนึ่งของ JavaScript จริงๆ มันเป็นเพียงสิ่งอำนวยความสะดวกสำหรับโค้ด JavaScript ในสภาพแวดล้อมนั้น

ลอง console.log("Hello World");

person Pointy    schedule 23.07.2012
comment
สิ่งที่คุณถามไม่สมเหตุสมผลเลยจริงๆ รหัสเซิร์ฟเวอร์ของคุณสามารถส่งข้อผิดพลาดออกไปโดยเป็นส่วนหนึ่งของการตอบสนองต่อคำขอ HTTP จากนั้นโค้ด JavaScript แยก บางส่วนที่ทำงานในเบราว์เซอร์ไคลเอ็นต์ก็สามารถแสดงการแจ้งเตือนได้ นั่นจะเกี่ยวข้องโดยตรงกับโค้ด JavaScript ที่ประกอบด้วยแอปพลิเคชันฝั่งเซิร์ฟเวอร์ของคุณเพียงเล็กน้อยเท่านั้น - person Pointy; 23.07.2012

ฟังก์ชัน alert() ใช้ได้เฉพาะเมื่อคุณเรียกใช้งาน JavaScript ในบริบทพิเศษของหน้าต่างเบราว์เซอร์ สามารถใช้ได้ผ่านวัตถุ window

Node.js ไม่ได้มีไว้สำหรับการเขียนแอปพลิเคชันเดสก์ท็อป (โดยตรง) มีวัตถุประสงค์หลักสำหรับการเขียนแอปพลิเคชัน JavaScript ฝั่งเซิร์ฟเวอร์ คุณสามารถใช้เฟรมเวิร์ก/แพ็คเกจต่อไปนี้ (และอื่นๆ อีกมากมาย) หากคุณต้องการพัฒนาแอปพลิเคชันเดสก์ท็อปที่แท้จริง


ในขณะเดียวกัน คุณสามารถใช้ console.log() เพื่อส่งข้อความใน โหนด js

console.log('hello');
person sampathsris    schedule 02.08.2014

แม้ว่าคำตอบเหล่านี้จะ "ถูกต้อง" เนื่องจากไม่มีฟังก์ชันการแจ้งเตือนให้ใช้นอกเบราว์เซอร์ แต่ก็ไม่มีเหตุผลที่คุณไม่สามารถสร้างและใช้งานได้:

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

ผลลัพธ์:

x
undefined

จากนั้นคุณอาจไม่จำเป็นต้องเปลี่ยนโค้ดหรือตัวอย่างที่มีอยู่หรืออะไรก็ตาม

person ggb667    schedule 27.09.2014

คุณจะต้องมีรหัสเพื่อรอกุญแจด้วย ต่อไปนี้เป็นจุดเริ่มต้น:

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

ฟังก์ชั่นการแจ้งเตือนมีไว้สำหรับเบราว์เซอร์ หมายถึงส่วนหน้า .. ใน nodejs สำหรับการพิมพ์ใน cmd หรือ bash คุณควรใช้อันนี้ ..

console.log("Sample alert");

คุณสามารถพิมพ์ตัวแปรหรือค่าคงที่ใดๆ ได้ที่นี่... สำหรับการพิมพ์ตัวแปร เพียงลบเครื่องหมายคำพูดออก

person Adnan Khan    schedule 05.06.2018

คุณสมบัติ alert() ได้รับอนุญาตจากเบราว์เซอร์เท่านั้น ไม่ใช่ JavaScript

person Rubin bhandari    schedule 05.06.2018

ฉันไม่เห็นว่ามีบันทึกไว้ที่ไหน แต่ฉันใช้ global.alert() ในโค้ด react-native ของฉันแล้ว ฉันใช้มันเพื่อจุดประสงค์ในการแก้ไขจุดบกพร่องเนื่องจากฉันกำลังเรียกใช้การทดสอบ Appium ดังนั้นฉันจึงไม่สามารถเข้าถึงเอาต์พุต console.log() ได้

person ponder275    schedule 03.11.2020