试图在两者之间为 asp.net mvc 单页应用程序做出决定。我似乎无法找到关于 TypeScript 的一件事是我是否可以引用 TypeScript 类服务器端,例如在控制器或模型中。我试过了,但它似乎不起作用。
我已经尝试过 SharpScript(Script#?),我喜欢我可以用 C# 编写一个类,现在从一个文件中,我可以访问该类 ServerSide 和 ClientSide,因为 Script# 将 C# 类自动转换为 javascript 文件. 这使得我可以很容易地拥有一个可以用来填充模型的类,然后将它与 HtmlHelpers 一起使用来设置视图,Web api 使用它来返回 json,然后在客户端,通过 javascript 为我的所有客户端内容引用模型. 我不必为每一端编写两个不同的文件。
Typescript 也提供这个吗?还是 Typescript 只供客户端使用?
我想知道我是否需要两者?我将 Script# 用于我想从两端访问的那些类,我将 TypeScript 用于仅客户端浏览器的逻辑。
编辑 1 - 原来我实际上在另一个项目中使用了一个叫做 SharpKit 的东西。这就是从 C# 生成我的 javascript 文件并允许我在两端使用一个 C# 类的原因。一旦我通过 nuget 将 Script# 添加到我的测试 asp.net mvc 项目中,它就会停止编译。
最终决定 - 不打算使用 Script#。没有支持。没有文档。甚至无法用它编译我的应用程序。如果它只是 TypeScript 的另一种变体,则不值得进行故障排除。也不会费心尝试通过 TypeLITE 使用 TypeScript 服务器端,因为实际上没有任何支持或任何人都在使用该 TypeLITE。另外,我希望能够拥有一个带有字符串属性的单个 C# 类,该类可以自动映射到可观察到的 javascript 淘汰赛,似乎 SharpKit 是唯一可以处理这个问题的东西。
看起来 SharpKit 确实是我想要坚持的,因为它可以完成我想要的一切,让我使用 C#(甚至更好!),并且有很多支持。只需要希望我没有达到5000线的限制,然后需要购买它。也许我会给 TypeScript 一个机会,但似乎一旦我使用了 SharpKit,我并没有真正从 TypeScript 获得任何东西。