2016-05-01 20 views
0

基本的に私のnodejs/javascriptコードは、自分のローカルPCでのみ動作し、vpsでは動作しません。 すべて同じnode_modulesをインストールしており、すべてのコードが同じです。私のコードの相続人例:Nodejsはローカルマシンで動作しますが、VPSでは動作しません

//Launcher.js 
var foo = require("./foo.js"); 
var oof= new oof(); 
oof.foo() 

//foo.js 
function oof() { 
this.foo = false; 
} 
oof.prototype.foo= function() { 
this.foo = true; 
} 
module.exports = oof; 

そのようなもの、私が取得エラーメッセージは、任意の助けを大幅に歓迎されるだろう

TypeError: oof.foo is not a function 

です。

+0

コードが間違っています。どこでも動作しませんでした。 'ounc'は' Launcher.js'で定義されていません。 – zerkms

+0

説明できますか? –

+0

はい、私は '新しいoof(); ---ここに' oof'は何ですか?コード内のどこにでも宣言されていないため、実行すると例外がスローされます。 – zerkms

答えて

0

Launcher.jsの正しい構文があるので、私は、多分私は何かが欠けています、あなたのマシン上でどのように動作するか見当がつかない:

var foo = require("./foo.js"); 
// The modules in node.js are not exported in the global namespace, 
// you must reference them with the variable name you assigned them. 
var oof = new foo(); 

oof.foo(); 
0

あなたがすることはできませんので、ごfooプロパティは関数ではありませんあれを呼べ。コンストラクタにthis.foo = falseを設定すると、prototypeの定義を上書きしています。今度はfooプロパティはbooleanという値なので、関数として呼び出すことはできません。

このJSはどこでも動作しません。

私はそれが法fooと競合しないように、あなたはtruefalse値を格納するプロパティの名前を変更することをお勧めしたい:それは私のコンピュータは、ノードのバージョンを実行していたことが判明し

//foo.js 
function oof() { 
    this._foo = false; 
} 
oof.prototype.foo = function() { 
    this._foo = true; 
} 
module.exports = oof; 
0

5.10と私のvps 4は、両方のコンピュータ上でノード-vを実行して、バージョンが一致するかどうかを確認し、vpsのノードバージョンを更新/ダウングレードして自分のものと一致するようにします。

関連する問題