2012-07-23 46 views
18

Tôi đang cố gắng để tạo ra một ứng dụng Node.js vàNode.js Alert Nguyên nhân sụp đổ

alert('Sample Alert'); 

đang gây ra chương trình của tôi sụp đổ. Node nói

ReferenceError: alert is not defined

rồi thoát. Tôi có thể sử dụng chức năng alert khi chạy javascript trên một trang html thông thường, vì vậy tôi không hiểu tại sao đây lại là ... Đây có phải là một mô-đun riêng biệt mà tôi phải sử dụng với node.js không?

Xin cảm ơn trước.

+8

bất cứ điều gì bên ngoài [này] (http://ecma-international.org/ecma-262/5.1/) không phải là thường xuyên javascript – Esailija

+1

@Esailija - Về mặt kỹ thuật thường xuyên Javascript * nên * có 'cảnh báo 'vì JavaScript là một nhánh của ECMAScript thường được triển khai trong các trình duyệt. Ý bạn là ECMAScript. –

Trả lời

42

Chức năng alert() là thuộc tính của trình duyệt window đối tượng. Nó không thực sự là một phần của JavaScript; nó chỉ là một cơ sở có sẵn cho mã JavaScript trong môi trường đó.

Hãy thử console.log("Hello World");

+6

Điều bạn đang hỏi không thực sự có ý nghĩa gì.Mã máy chủ của bạn có thể gửi lỗi ra ngoài như một phần của phản hồi cho yêu cầu HTTP và sau đó, một số ** mã JavaScript ** riêng biệt chạy trong trình duyệt của khách hàng có thể hiển thị cảnh báo. Điều đó sẽ có rất ít trực tiếp để làm với mã JavaScript bao gồm ứng dụng phía máy chủ của bạn. – Pointy

6

alert() chức năng chỉ có sẵn khi bạn thực thi JavaScript trong bối cảnh đặc biệt của cửa sổ trình duyệt. Nó có sẵn thông qua các đối tượng window.

Node.js không dành cho việc viết ứng dụng dành cho máy tính để bàn (trực tiếp). Nó chủ yếu dành cho việc viết các ứng dụng JavaScript phía máy chủ. Bạn có thể sử dụng các khung/gói sau đây (và nhiều thứ khác) nếu bạn muốn phát triển các ứng dụng máy tính để bàn thực sự.

  • Electron
  • NW.js (trước đây, nút-webkit)

    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


Trong khi đó, bạn có thể sử dụng console.log() để xuất thông báo trong Node.js.

console.log('hello'); 
0

Trong khi những câu trả lời là "đúng", như không có chức năng cảnh báo có sẵn bên ngoài trình duyệt, không có lý do bạn không thể tạo một và sau đó sử dụng nó:

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

kết quả:

x 
undefined 

Sau đó, bạn có thể không cần thay đổi mã hoặc ví dụ hiện tại của mình hoặc bất kỳ thứ gì.

0

Bạn cũng sẽ cần mã để chờ khóa. Dưới đây là một sự khởi đầu:

process.stdin.on('char', function() { 
    var chunk = process.stdin.read(); 
    if (chunk !== null) { 
    process.stdout.write('data: ' + chunk + 'got?\n'); 
    } 
}); 
Các vấn đề liên quan