如何设置ASP.NET API / AngularJS项目
我正在开始自己的Angular Web应用程序。 我有使用c#和angular进行编码的经验,但我从来没有设置过我自己的项目/解决方案。 在这种情况下,我想设置一个ASP.NET Web API,它将以JSON方式与Angular SPA前端通信(尽管它应该与前端无关,任何说JSON的应用程序都应该能够与它通信)。
另外,我听说过关于grunt的好东西,所以我想将它合并到项目中(至少要编译LESS并缩小和组合我的角度文件)。
我正在与visual studio professional 2013合作。我首先创建了一个Web API项目并下载了WebEssentials插件。
我对如何继续这里感到有点困惑。 我应该将我的角度分成同一个解决方案中的单独项目吗? 我如何包括咕噜声? 如何在visual studio的上下文中使用grunt将我的angular文件包含在index.html文件中?
该项目附带一个Scripts文件夹和一个Views文件夹。 我知道最好按function构造角度文件,以便将控制器和视图放在一起。 我应该在脚本文件夹中包含我的观点吗? 这对我的构建过程有何影响?
我意识到这些可能是非常幼稚的问题。 请耐心等待,在谈到这些任务时,我是一个完全的初学者。 我过去所做的一切基本上都是代码。
让我们一步一步走:
使用Web Api和Angular JS的Visual Studio解决方案
您可以将Web Api和Angular代码存储在同一解决方案和项目中。
在这种情况下,您可以安排这样的结构:
- 内容
- 控制器
- 楷模
- 脚本(使用app /文件夹和供应商脚本,如angular,jquery等)
- 查看
index.html for angular application,你可以放入Scripts / app文件夹。 并且您可以将所有Angular视图放入Scripts / app / views文件夹中。
使用Grunt / Gulp
Grunt / Gulp / Cake / Broccoli – 这些工具只是一个javascript任务运行器,它允许您进行各种操作,例如将您的供应商脚本合并到一个文件中,缩小并将您的脚本组合成一个文件,将您的LESS转换为CSS等。
要使用这些任务运行程序,您可以使用项目构建事件 。 在项目构建事件中,您可以运行Grant / Gulp任务,这将为您完成所有的魔术。
还有一个名为Task Runner的 Visual Studio扩展。 此扩展允许您通过添加Task Runner Explorer窗口在Visual Studio中执行任何Grunt / Gulp任务或目标。
使用Task Runner在Visual Studio Project中使用Gulp的示例
要通过Task Runner自动运行Gulp任务,您需要在gulpfile.js
开头添加一行
///
此行将强制您的任务在每次重建项目后运行。
有用的信息
要获得有关ASP.NET上AngularJS的应用程序的其他信息,您可以查看John Papa撰写的video:“ 在ASP.NET上使用AngularJS构建丰富的应用程序 ”
有用的Gulp模块:
- gulp-useref – 在HTML文件中解析构建块以替换对非优化脚本或样式表的引用。
- gulp-less – 少用于Gulp。
- gulp-uglify – 使用UglifyJS缩小文件。