0

PCとLinuxで正常に実行されるnode.jsプロジェクトがありますが、Mac(Mountain Lion)で実行すると、jQueryモジュールが機能しません。ウィンドウオブジェクトのプロパティへの割り当てはすべて無視されます。

あれは

if(jQuery){
   window.jQuery = jQuery;
   if(!window.jQuery){
       throw "assignment didn't have any effect";
   }
}

例外をスローします。それを解決するためのアイデアはありがたいです

オブジェクトのプロトタイプは、undefinedこれら2つのことが関連していることを期待しています。ウィンドウオブジェクトは、jsdom.createWindow()を使用して作成されます(これにより、doc.parentWindowが返されます)。

下の行が原因のようです

vm.runInContext('this', context);

これは実際のオブジェクトを返します(プロトタイプなし)。

4

1 に答える 1

0

この問題は、jsdomモジュールのインストール中にcontextifyをコンパイルできないという副作用です。これは、makeをインストールすることで修正できます。失敗する質問の条件は、contextifyのインストールの問題を処理しようとするエラー処理です。

makeへのmakeのインストールは、開発ツール(XCode for OSXのコマンドラインツール)をインストールすることで実行できます。makeをインストールした後、contextifyを再インストールします

于 2012-08-14T06:31:40.890 に答える