Asp.Net Core + Angularjs2,一起或单独使用
Asp.Net Core + Angularjs2, together or separately?
我将开始开发一个新的项目,我想使用asp.net core和angular.js,但我有一个问题,什么是更好的方式,使用asp.net和angular一起或单独?
我用这种形式定义了我的架构
Cliente1(角)-> RestApi -> BussinessLogic -> DataAccess DB ->
是的,我看到我的架构告诉我,我需要管理asp . net和angular js分开,但我想听到任何建议。
更新:谢谢你的回答,最后他们都有他们的优点和缺点,我想和你分享这篇文章:
Together: http://proudmonkey.azurewebsites.net/asp-net-core-getting-started-with-angularjs-2/
分别:第一部分:https://chsakell.com/2016/06/23/rest-apis-using-asp-net-core-and-entity-framework-core/
第二部分:chsakell.com/2016/06/27/angular-2-crud-modals-animations-pagination-datetimepicker/
通常在编程中你应该尽可能地分离你的逻辑。
你可能有很多原因想把两个项目分开:
- 你现在有一个web应用程序(angular),但也许在不久的将来,你需要有一个移动应用程序(混合或本地)
- 你可以有不止一个人在项目上工作,例如你可能需要一些设计师/集成商在应用程序上工作,你不想和他分享你的后端,同样适用于如果你有一个后端家伙。
- 两个项目意味着可能有两个源代码控制库,意味着对分支,版本,回滚的更多控制…
- 等等…
我希望这对你有帮助。
如果我看到其他好处,我会更新这个答案。
将它们分开,你的MVC部分将主要是REST api,与Angular项目中的JavaScript, HTML和CSS无关,此外,如果你想构建另一个客户端,EX: Mobile,那么它也将有自己的项目,这样你将为你的解决方案拥有一个干净的结构。
所以,你应该有以下内容:
- 志愿者项目。其他
- 志愿者项目。角
- 志愿者项目。MobileClient
此外,这种分离将使从事项目的团队更容易,从事前端工作的人不必担心与他的任务无关的任何其他代码,从事api工作的开发人员也是如此,并且每个项目都可以按照其技术的最佳实践进行构建。
你的问题是基于观点而不是事实,所以这是我的观点。
我用ASP做了几个项目。Net MVC, Web API和AngularJS。它们都在一个Web应用程序项目中。注意:我有几个类库用于强类型Angular helper、业务逻辑和数据访问。
以下是优点
我使用Owin Middleware认证用户,然后重定向到Angular。它的主要优点是我不需要在Angular中显式地维护承载令牌或身份验证Cookie。
其次,我使用csthml作为强类型的Angular视图,而不是普通的html。这是两全其美的。最后但并非最不重要的是,您可以轻松调试它,而不是同时启动两个项目,这样我可以节省开发机器上的资源。每个人都知道Visual Studio是一个非常需要内存的IDE。
- 高亮显示与数组字符串一起使用时文本插件中断
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何使jQuery中的悬停函数单独应用于数据库映像
- 如何放置单独的ajax调用,使页面的一部分完全响应,而另一部分仍在加载
- 当与Dojo验证一起使用时,Chrome 41密码保存会做出错误的选择
- Replace()产生“;未捕获的类型错误:未定义的不是函数“;当与零一起使用时
- 无法使我的文本参数与我的查询一起工作
- 将dropzone与browserfy一起使用时,$(..).dropzone不是一个函数
- 无法使vash 0.8.0与express 4.12.3一起工作
- 如何使函数与.onsubmit事件一起运行
- 如何使Angular JS控制器与指令一起工作
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 在将 Pickadate 与 Meteor 一起使用时,未定义不是函数错误
- 与 promise 一起使用时,异步瀑布不执行下一个回调方法
- 使一组对象与 jQuery 一起拖动
- 在PaperJS中,可以将多个项目组合在一起,使它们作为一个项目移动
- 我有点困惑,我怎么能把我的三个函数混合在一起,使它变短
- 我如何将多个变量组合在一起,使它们的行为相同
- 将两个独立的java脚本组合在一起,使它们仍然可以工作
- 使单独的切换按钮一起工作