Node.jsアプリを作成しようとしています
alert('Sample Alert');
プログラムがクラッシュします。 Nodeは言う
ReferenceError:アラートは定義されていません
その後、終了します。通常のhtmlページでjavascriptを実行するときにalert
関数を使用できるので、これがなぜなのか理解できないのですが...これはnode.jsで使用しなければならない別のモジュールですか?
alert()
関数は、ブラウザーwindow
オブジェクトのプロパティです。実際にはJavaScriptの一部ではありません。これは、その環境でJavaScriptコードが使用できる機能にすぎません。
console.log("Hello World");
を試してください
alert()
関数は、ブラウザウィンドウの特別なコンテキストでJavaScriptを実行する場合にのみ使用できます。 window
オブジェクトを介して利用できます。
Node.jsは、デスクトップアプリケーションを(直接)作成するためのものではありません。主に、サーバー側のJavaScriptアプリケーションを作成するためのものです。真のデスクトップアプリケーションを開発する場合は、次のフレームワーク/パッケージ(およびそれ以上)を使用できます。
NW.js (以前は、node-webkit)
NW.jsは、
Chromium
および_node.js
_に基づくアプリランタイムです。 NW.jsを使用して、ネイティブアプリをHTMLおよびJavaScriptで記述できます。また、Node.jsモジュールをDOMから直接呼び出すことができ、すべてのWebテクノロジーを使用してネイティブアプリケーションを記述する新しい方法を実現できます。
スタンドアロンの配布可能パッケージおよびnpmパッケージとして利用可能
一方、 console.log()
を使用して、Node.jsでメッセージを出力できます。
_console.log('hello');
_
Alert()プロパティは、javascriptではなくブラウザでのみ許可されます。
これらの回答は「正しい」ですが、ブラウザの外部ではアラート機能を使用できないため、作成して使用できない理由はありません。
node -e "function alert(x){
x === 'undefined' ? console.log('undefined') : console.log(x); return;
};
alert('x'); alert();"
結果:
x
undefined
その場合、既存のコードやサンプルなどを変更する必要はないかもしれません。
アラート機能はブラウザ用です。これは、cmdまたはbashで印刷するためのnodejsのフロントエンドを意味します。これを使用する必要があります。
console.log("Sample alert");
ここで任意の変数または定数を印刷できます...変数を印刷するには、カンマを削除するだけです。
キーを待つコードも必要です。ここから始まります:
process.stdin.on('char', function() {
var chunk = process.stdin.read();
if (chunk !== null) {
process.stdout.write('data: ' + chunk + 'got?\n');
}
});