我希望能夠在運行.net環境的服務器端執行JavaScript。
那麼如何做到這一點? 主要是我需要文本處理函數,我會輸入一個字符串並獲取從JavaScript代碼返回的字符串。
不需要窗口交互。是否可以在.net框架中執行JavaScript代碼?
6
A
回答
11
是的,有幾個JS引擎可以使用。 Jurassic,Jint和IronJS是基於.NET的,但您也可以與其他人接口,例如Chrome瀏覽器中的V8或IE中的ActiveScript。
編輯:五年後,JS引擎原產於.NET稍微滯後(無支持ES6着呢,IronJS似乎放棄了),但我們現在也有開源ChakraCore這是不是很難在.NET中集成和使用一個可用的包裝器。
此外,JavaScriptEngineSwitcher允許通過通用接口使用.NET代碼中幾乎任何現有的JS引擎,因此交換引擎不需要更改代碼。
3
您可以編寫一個JScript.Net文件並將其編譯到一個包含jsc
的程序集中,然後像使用其他任何程序集一樣使用該程序集。
實施例:
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
}
}
}
}
比package
和class
結構其他,在JScript.Net代碼基本上是JavaScript的。如果你想成爲惡魔,你甚至有eval
。 :-)
然後,您可以編譯成這樣一個組件:
jsc /target:library TheFileName.js
...它生產和組裝的TheFileName.dll
。
+0
這很漂亮。 – asawyer 2012-04-25 13:17:19
相關問題
- 1. 是否可以使用完整.NET框架的運行時運行Silverlight代碼?
- 2. 是否可以在C#中運行時創建/執行代碼?
- 3. 是否可以執行使用pjax檢索的Javascript代碼?
- 4. 在Javascript中,是否有一種技術可以在返回後執行代碼?
- 5. C#中的.NET分佈式代碼執行框架
- 6. 是否可以在.net框架中使用<%:3.5
- 7. JavaScript - 是否有可能在出錯後強制執行代碼?
- 8. 是否有可能在.NET中運行時編譯和執行新代碼?
- 9. 檢測javascript是否在框架中執行
- 10. 你可以在.NET中執行代碼間接嗎?
- 11. Lua是否可以「停止」表中的任何代碼執行?
- 12. 是否可以在html表單後執行一些php代碼?
- 13. 是否可以在pool.map完成python作業後執行代碼?
- 14. 是否可以在MATLAB環境內外執行編譯代碼?
- 15. 是否可以在WP8上執行下載的代碼?
- 16. 是否有可能在xcode中加入ios框架代碼?
- 17. 是否有可能在Conductor Selenium框架的頁面上下文中執行Javascript?
- 18. 是否可以在.net中執行「混合」XML序列化?
- 19. 是否可以在運行時在Android中執行Java代碼字符串?
- 20. javascript - 在代碼中執行代碼?
- 21. 是否有可能停止當前執行的Javascript代碼?
- 22. 驗證框架在.NET中可以場
- 23. 是否可以在Monotouch/Xamarin中實現實體框架的代碼優先?
- 24. 是否可以在JPQL中執行JOIN?
- 25. javascript可以生成可執行的javascript代碼嗎?
- 26. 是否有支持Erlang「移動代碼」概念的.NET框架?
- 27. 如何在可執行文件中包含.NET框架庫
- 28. 評論的「全局代碼」是否也可以被執行?
- 29. 是否可以計算代碼執行步驟?
- 30. 惡意代碼是否可以從CSS文件執行?
.net對於文本處理來說非常不錯。有什麼特定的需要,只有JavaScript可以提供? – 2012-04-25 12:57:40
我第二@MarceloCantos的評論。用於文本處理的.Net之外的優點是什麼? – 2012-04-25 13:00:08
這似乎是想要做的一件奇怪的事情。你究竟想要完成什麼? – asawyer 2012-04-25 13:00:26