2016-04-06 10 views
-2

node.jsサーバー内の外部ソースからjavascriptコードを実行して結果を返したいとします。私はちょうど私がこの内部のNode.jsを実行するのですかnode.jsコードからjavascriptコードを呼び出す

<script>http:\\address.of.code.com\code.js</script>

を使用するHTMLコード内の は、このスクリプトの結果を取得し、呼び出し元に戻しますか?

私は実行したいスクリプトの事前知識がなく、外部アドレスにあります。

+0

可能な重複[Node.jsの:純粋なJavaScript関数を呼び出す](http://stackoverflow.com/questions/14454971/node-js-calling-pure-javascript-functions) – abc123

+0

ABC123 @ :リモートファイルを取得する必要がありますか? –

+0

@ abc123ええ、これは良いものとは少し違うものを求めています。私はこのリンクの中で、あなたはスクリプトが同じ文脈の中にあるというアイデアを投稿したと思います。だから、通常は同じfsを意味するNodeの場合です。 –

答えて

1

私は、ノードのネイティブVMモジュールを見てお勧めします。だから、ナザールの例に構築:

var vm = require('vm'); 
var request = require('request'); 
request('http://address.of.code.com/code.js', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
      var script = vm.Script(body); 
      var ctxt = {}; 
      script.runInNewContext(ctxt); 
      console.log(ctxt); 
    } 
}); 

これはリモートアドレスだとスクリプトを引っ張っコードに影響を与えずに、それを実行してからスクリプトを引っ張ります。ここでは、VMのドキュメントは、次のとおりです。https://nodejs.org/dist/latest-v4.x/docs/api/vm.html

+0

これは正解です。 – Dani

+0

@Daniありがとう!その場合の答えを受け入れる心ですか? –

+0

確かに、私はまだ問題がある - b/cスクリプトがブラウザ内で実行する必要がある(文書が見つからない...)が、この質問の範囲外です... – Dani

1

これはどうですか?

var request = require('request'); 
    request('http:\\address.of.code.com\code.js', function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(body) 
     } 
    }) 

敬具、ナザールメデイロス

+0

このコードはスクリプトを取得しますが、実行しません.Christian Grabowskiの拡張を試してみます。 – Dani

関連する問題