0

Mac ターミナル (コマンド ライン) から実行しているいくつかのサーバー スクリプトからいくつかのライブラリを含めようとしています。これはブラウザーでは実行されません。iOS アプリのバックエンドに Parse Cloud Code を使用しています。Google Chrome では機能するのに、次のコードが機能しない理由はありますか?

document.write('<script src="http://code.jquery.com/jquery-1.8.3.min.js" type="text/javascript"></script>');
document.write('<script src="https://raw.github.com/carlo/jquery-base64/master/ jquery.base64.min.js" type="text/javascript"></script>');
document.write('<script src="http://crypto-js.googlecode.com/svn/tags/3.0.2/build/rollups/hmac-sha1.js" type="text/javascript"></script>');

端末からこれを実行すると、次のエラーが表示されます: {"code":141,"error":"Uncaught ReferenceError: document is not defined"}。

4

1 に答える 1

0

通常document、サーバー側の Javascript にはありません。これは、DOM が作成されていないためです。そのため、エラー ( Uncaught ReferenceError: document is not defined) が発生します。

また、通常、scriptタグは JavaScript ファイルの読み込みには使用されません (DOM はありません)。

Node.js は、モジュールを要求するために使用するモジュール インターフェースを使用requireします (これは、モジュールがグローバル スペース (windowブラウザー、processNode.js など) で使用されないことも意味します)。残念ながら、クライアント側の JavaScript ライブラリの多くはサーバー側では機能しません (jQuery は、サーバー側に存在しない DOM を操作するために使用されるためです)。

ただし、ノードでは、cheerio基本的にサーバーにjQuery構文を実装してDOM文字列を生成する人がいます。しかし、あなたの場合、あなたの環境で動作する特定のライブラリを探したいと思います。

Enaway、質問を少し明確にした後。エラーが発生する理由についての答えがあると思いますdocument not defined(ブラウザで作業していないため、DOM がありません)。そこから、Cloud Code Guideドキュメントを読んで、環境がどのように機能しているかを確認する必要があります。しかし、間違いなく、ブラウザでの作業方法をサーバーに転置できるのは、javascript を使用しているからではありません。

がんばって。

于 2012-12-18T03:38:11.737 に答える