2016-08-26 1 views
0

のMongoDB(@Azureを開催しました)から受け取りましたどこか別の場所。ロードJS動的にNode.jsの中には、私がNode.jsのサーバーが</p> <p>開発者はAPIを満たすJavaScriptを書いて、MongoDBのホストされている私にそれをアップロードすることができるはずのAzureでホストされている

ここで、Node.jsサーバーが起動され、MongoDBから適切なロジックが選択されます。

  • このコードを動的に実行するにはどうすればよいですか?

  • Eval?または、MainMemoryにファイルをロードして実行できますか?

ロードされたコードは、サーバー上で実行されている他のメソッドにアクセスできる必要があります(ものは、開発者のためのAPIで文書化)

+0

node.jsのコードスニペットはmongoDBに保存されており、DBから受け取ってNode.jsアプリケーションで実行したいのですか? –

答えて

0

私はかなりきちんとした解決策を見つけた:

  • 変換しますJavaScriptシンタックスを "Node.js"に変更する
  • ファイルへの電子FS-ライブラリー
  • は、変数
  • に作成したファイルを「必要」その後

ファイルを削除し、変数

  • のロジックを実行 - >あなたは今、コードをデバッグすることができます"eval"と違って

  • 0

    基本的に、あなたは正しい、我々はJavaScriptを実行するeval()を活用することができますローカルスコープにアクセスする必要がある場合は、stringのコードを使用します。詳しい説明はhttps://nodejs.org/api/vm.html#vm_vm_runinthiscontext_code_optionsを参照してください。 Node.jsの中

    { 
        "id": "123", 
        "code": "someFuc()" 
    } 
    

    とテストコードスニペット:ここ

    はMongoDBの中に私のテストファイルです

    function someFuc(){ 
        console.log("this is consoled from node.js application"); 
    } 
    ... 
    // file results query from db 
    ... 
    var code = results[0].code; 
    console.log(code); 
    eval(code); 
    
    +0

    それは唯一の方法ですか? – IntegerWolf

    +0

    現在、私はより良い方法を見つけられませんでした。 –