Ember CLI和ASP.NET

12
我曾经成功地在 ASP.NET Web 应用程序中使用 EmberJS JavaScript 框架,通过引用 ember.js 文件。
我认为 Ember 将来的版本会采用 Ember-CLI 这个工具。
如果这是正确的,那么继续使用 Ember 的适当方式是什么?在 ASP.NET 中使用 Ember-CLI 是否明智,或者我们假设客户端只是静态 HTML 和 CSS/JS,需要回调到服务器端代码(例如 WebAPI)吗?

我没有看到Ember-Cli和Typescript之间有太大的区别。毫无疑问,TypeScript更有用。Ember-Cli试图实现的目标与使用TypeScript、Grunt-Cli相同。 - Amit
有趣的是你提到了TypeScript - 我也在使用它,但我没有想到它与这个问题有关。 - David Gardiner
同意可能与问题无关,但我只是想通过基本功能来澄清一下。我认为没有什么可担心的 :-) 。您可以像目前使用的那样将Ember与ASP.NET一起使用。唯一需要理解的是构建、部署和依赖管理的组成部分和配置部分。因此,要么单独使用已知工具,要么使用作为其他工具包装器的单个工具。 - Amit
我没有看到你为什么不能这样做的理由,但我认为许多人喜欢将前端与API分开,这对于.NET应用程序完全可行。 - Dhaulagiri
1个回答

16

Ember-Cli是Ember社区所支持的命令行工具链,它实际上只是构建Ember应用程序的另一种方式。

我在使用Ember-Cli和ASP.NET MVC以及WebApi。基本上我是通过EmberCLI输出一个index.html文件(ember new myapp默认设置了这个项目),然后让我的MVC应用程序路由到一个/App url,控制器返回一个View("~/whateverdirectory/myapp/dist/index.html");。Razor不在意你返回的视图是否是.cshtml文件,因此如果您正在使用Ember来控制整个页面,这就可以很好地工作。这样你就可以在ASP.NET中使用标准的身份验证,当用户登录成功后,将他们发送到MVC的App控制器索引路由,然后提供他们Ember应用程序服务。

更新于 2015年8月18日

我在Github上添加了一些示例代码


如果您需要应用程序用户的不同特权级别,这是否有效? - Adam Knights
1
你需要做的是在你的Web API方法上设置[Authorize]属性。由于它在ASP.NET应用程序的上下文中,所以你可以像使用WebAPI一样获得所有的安全性。 - Ryan Hayes
请问您能否分享一下您控制器的样例代码?我无法让它正常工作... - Lopo
我在我的回答中添加了一个链接,指向Github上的gist中的一些示例代码。如果这有帮助,请告诉我。 - Ryan Hayes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接