2012-03-19 10 views
1

私はnode.jsを初めて使用しています.ExpressとJadeの使い方を学んでいます。 jade.jsでこの行が問題のいくつかの種類を引き起こしているようだ:window.jade = require("jade");エクスプレスジェイド - ReferenceError:ウィンドウが定義されていません

私はうまく私のサーバーを起動することができますが、私は私のブラウザでそれを訪問するとき、私はこのエラーを取得:

ReferenceError: window is not defined 
    at C:\Users\User\Desktop\node-js-web\node_modules\jade\jade.js:3142:1 
    at Object.<anonymous> (C:\Users\User\Desktop\node-js-web\node_modules\jade\jade.js:3143:2) 
    at Module._compile (module.js:441:26) 
    at Object..js (module.js:459:10) 
    at Module.load (module.js:348:31) 
    at Function._load (module.js:308:12) 
    at Module.require (module.js:354:17) 
    at require (module.js:370:17) 
    at Object.<anonymous> (C:\Users\User\Desktop\node-js-web\node_modules\jade\index.js:4:5) 
    at Module._compile (module.js:441:26) 

その行をコメントアウトすると、次のようなエラーが表示されます。

TypeError: Object #<Object> has no method 'compile' 
    at Function.compile (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:68:33) 
    at ServerResponse._render (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:417:18) 
    at ServerResponse.render (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\view.js:318:17) 
    at C:\Users\User\Desktop\node-js-web\server.js:37:7 
    at callbacks (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:272:11) 
    at param (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:246:11) 
    at pass (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:253:5) 
    at Router._dispatch (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:280:4) 
    at Object.handle (C:\Users\User\Desktop\node-js-web\node_modules\express\lib\router\index.js:45:10) 
    at next (C:\Users\User\Desktop\node-js-web\node_modules\express\node_modules\connect\lib\http.js:203:15) 

私は実際に何をするべきか分かりません。誰も助けることができますか?

答えて

4

Node.jsにはブラウザにないため、windowオブジェクトはありません。グローバルスコープにjadeを添付する場合は、globalを使用してください。

(しかし、あなたはあなたのアプリケーションに変数をグローバルにしたいなぜ、とにかくのみExpressは、あなたのビューをレンダリングするためにヒスイのオブジェクトを必要ですか?。)

+0

このコードはjade.jsである - いくつかのバグが明らかに起因します回避策? [link](https://github.com/visionmedia/jade/issues/247) –

+1

あなたのエラーを詳しく見てみると、 '' jade.js''の中で '' 3142''の中で失敗しているのがわかります'!?しかし、 '' jade.js''は '' 238''行だけです(https://github.com/visionmedia/jade/blob/master/lib/jade.js)。どのようにNode.jsにコードをロードしていますか?あなたが単純に '' jade = require( 'jade') ''を実行しているようには思われません。 –

+0

ああ、npmからダウンロードしたパッケージは/lib/jade.jsにありません。 –

関連する問題