2012-01-19 8 views
0

ノードに外部jQueryファイルを使用する際に問題があります。私は実行する必要があるいくつかの機能がありますが、機能していません。テストするシンプルな関数を作成しましたが、私が得ようとしているエラーメッセージはTypeErrorです:Object#にはメソッド 'alert_helloworld'がありません。ここに私の2つのファイルがある:外部jQueryファイルを持つNode.js

example.js

var jsdom = require('jsdom'); 
var templateparser = require('./templateparser.js'); 
var test = templateparser.alert_helloworld(); 

templateparser.js

function alert_helloworld(){ 
console.log("Hello World"); 
return false; 
} 

HELPは!!!!あなたが輸出を使用する必要が

答えて

1

がtemplateparser.js内のオブジェクト:

exports = exports || {}; 

exports.alert_helloworld = function(){ 
    console.log("Hello World"); 
    return false; 
} 

は、モジュールのドキュメントを見てみましょう:http://nodejs.org/docs/latest/api/modules.html

0
module.exports.alert_helloworld = function alert_helloworld(){ 
    console.log("Hello World"); 
    return false; 
}; 

それはあなたが実際にあなたが必要とする機能をエクスポートすることが重要です。 node.jsモジュールは、デフォルトで独自の独立したモジュールスコープでラップされます。

+0

私は外部ファイルを再作成するつもりはありません。私は同じままにしたい。これも可能ですか? – user1146581

+0

@ user1146581はい/いいえ。 jsdomにjavascriptファイルとして挿入することも、ノード内のASTパーサに挿入することもできます。それ以外の場合は、ファイル内で定義した "グローバル"変数にはアクセスできません。 – Raynos

+0

だから私は、私はjsdomにjavascriptとしてどのように注入するのですか? – user1146581

関連する問題