4

我有一组核心、复杂的 JavaScript 数据结构/类,我希望它们能够在浏览器中作为 JavaScript 使用,并在带有 .NET 3.5 的桌面上运行。是否可以将 Web 友好的 JavaScript 编译成我的 C# 代码可以访问的程序集?

  • 托管 JScript - 是否有可用的编译器来生成可以在桌面 CLR 上运行的东西?我只看到了 Silverlight 运行时的已发布示例。听起来它不像在桌面上正式可用,但我愿意尝试一些不那么幸运的东西,比如我可以用 Silverlight 工具编译然后在桌面 CLR 上运行吗?
  • JScript .NET - 听起来它有足够的自定义语言扩展,在浏览器中运行相同的代码真的很难,但也许有办法......?

如果这些都不起作用,我想我的选择是:

  • 有一个 C# 版本和一个 JavaScript 版本,我必须保持同步(糟糕)。
  • 编写一个在编译时运行的预处理器,将我的 JavaScript 转换为 JScript .NET 或我可以编译为 .NET 程序集的东西。
  • Script#:看起来这会将 C# 代码转换为 JavaScript 代码。不太好,因为我希望能够直接大量调整 JavaScript 代码,但它可以工作。

任何人都成功地使用了这些选项?

4

3 回答 3

1

JScript.Net 实际上大部分都符合 EMCAScript3。只要您将代码视为处理库(仅让它进行处理等 - 使用回调与程序交互),您应该没问题。我正在做类似的事情,使用 javascript 作为我的核心解析库,然后在 python、dotnet 和 php 中使用它。

于 2008-11-07T15:14:02.437 回答
1

托管 JavaScript (IronJScript) 似乎已被杀死。看到这个答案

于 2009-06-01T22:53:16.037 回答
0

另一种选择如何:

  • 通过 winforms 的 WebBrowser 控件在桌面应用程序中托管 javascript 应用程序?

这可能吗?

您还可以从 WebBrowser 控件访问 DOM,但并非完全支持您想要的所有内容。

于 2008-11-07T12:19:49.357 回答