2012-04-25 8 views
6

私は、.net環境を実行しているサーバー側でJavaScriptを実行できるようにします。
どうすれば可能ですか? 主に私はテキスト処理関数が必要です、私は文字列を入力し、JavaScriptコードから返された文字列を取得します。
ウィンドウの操作は不要です。.netフレームワークでjavascriptコードを実行することは可能ですか?

+3

.Netは、テキスト処理に非常に適しています。 JavaScriptだけで必要なものがありますか? –

+0

私は2番目の@MarceloCantosのコメントです。テキスト処理のために.Netの外に行く利点は何ですか? –

+2

これはやりたいことが奇妙なようです。あなたは正確に何を達成しようとしていますか? – asawyer

答えて

11

はい、いくつかのJSエンジンがあります。 Jurassic,JintおよびIronJSは.NETベースですが、ChromeブラウザのV8やInternet ExplorerのActiveScriptなどの他のインターフェイスにも接続できます。

EDIT: 5年後、.NETにネイティブJSエンジンがやや遅れている(まだありませんES6をサポートしていない、とIronJSは放棄されているようだ)、私たちは今も非常に難しいことではありませんオープンソースChakraCoreを持っています容易に利用できるラッパーの1つと.NETで統合して使用することができます。

JavaScriptEngineSwitcherまた、.NETコード内の既存のJSエンジンのほとんどを共通のインターフェイスから使用できるため、スイッチングエンジンでコードを変更する必要はありません。

+0

クロムやjavascriptエンジンとのやり取りに関するリンクはありますか? – Karim

+1

Jintが最良の選択肢のようです:) – Karim

3

JScript.Netファイルを書き込んで、それをjscのアセンブリにコンパイルして、そのアセンブリを他のものと同じように使用できます。

例:packageclass構造以外

package Your.Desired.Package.Name { 
    Class SomeClassName { 
     public static function doSomething(foo) } 
      var bar; 

      // Fairly normal JavaScript code here 

      if (foo.match(/sometest/)) { 
       // Do something 
      } 
      else { 
       // Do something else 
      } 
     } 
    } 
} 

、JScript.Net内のコードは、本質的にはJavaScriptです。あなたは邪悪になりたい場合でもevalを持っています。 :-)

あなたは、このようなアセンブリにそれをコンパイルします。

jsc /target:library TheFileName.js 

...それはTheFileName.dllに生成し、アセンブリ。

+0

それはかなりきちんとしています。 – asawyer