html5 - 是否在WebSite项目中使用grunt和bower进行HTML5开发,还是在Visual Studio 2015中创建HTML5 Web应用程序?

标签 html5 visual-studio-2015 single-page-application visual-studio-templates

我想为html5/css3/javascript单页应用程序开发构建一个定制的纯html5 web模板,然后用它作为spa html5web开发的起点。
微软明确建议使用web应用程序,但没有提供纯html5web应用程序模板,因此这项任务留给最终用户。
我不是问我是否应该使用ASP.NET Web Site or ASP.NET Web Application而是问,我可以安排什么样的模板配置,让我使用最现代的html5工具和工作流,它是web应用程序(带有.csproj或.xproj项目文件)还是web站点项目(基于文件夹的项目)?
对于开发人员需要构建纯html5 spa的项目,可能使用extjs,也可能使用angular,或者其他类似的工具,首先选择的是file->new web site和file->new web application。
如果以后我的HTML5项目可能会添加一些ASP.NET,很明显我应该选择“文件”->“新建Web应用程序”,但没有提供HTML5模板,所以我希望建立自己的模板并使用它。但它应该基于什么呢?
对于“网站”选项,单击“文件”“新建网站”,将得到一个基于文件夹的项目,但没有新的grunt/bower支持。
我正在寻找一种方法来获得两个选择的最佳结果。如果单击“文件”“新建网站”,是否可以获得grunt/bower支持?或者我可以做纯HTML5工作,如果我点击文件新项目?
可以自己编写一个纯html5 web开发.csproj+.sln项目,从一些以前在codeplex上的examples开始,现在在GitHub
在我看来,基于.csproj或.xproj的根目录对于纯html5开发的好处是:
我只能指定要在项目资源管理器中查看的文件。
我可以轻松地将asp.net webapi控制器添加到我的“纯”项目中,而无需重新生成项目。
我可以使用一个asp.net 5(dnx)web应用程序模板(.xproj),删除所有的c内容,得到一个工作的纯html5开发模板,并保留所有新的javascript grunt/bower工具吗?或者我必须坚持使用网站(文件夹级)项目及其visual studio 2005时代的网站开发功能,进行纯html5 html/css/javascript开发吗?
最新消息:如果投票支持“意见”的近距离选民能够友好地指出我需要的意见,那就太好了。我正在寻求帮助,为visual studio开发一个模板,我相信这是一个主题,根本不是征求意见。要开发模板,您必须做出选择。哪一个将提供最完整的html5工具,包括grunt和bower以及完整的javascript语法突出显示、jslint、bundle、minify等?

最佳答案

在开发模板时,我目前的研究表明:
耐心点,蚱蜢,还早呢。ASP.NET Core 1.0刚刚发布,但不包括某些元素,包括用于基本纯html 5 web项目开发的新的.xproj样式的项目集(名称甚至尚未公布,但假设它可能被称为核心页面),无论它是什么,微软与微软Visual Studio的纯HTML5开发的“专营权重新启动”还不存在,或者处于内部开发的早期阶段。如果微软搬过来的话,我今天能做的任何模板都可能在三周或三个月内过时。
目前,对于能够使用它的人来说,file->new web sites工作得很好,而且我还没有找到任何技术文档说明为什么不能将它用于新的开发,只是微软警告说,如果file->new project template能够满足您的需要,它可能不是最佳选择。你可以从今天的asp.net core 1.0的工作方式中看到(在没有在asp.net core中重新构建的情况下及时自动重新编译,最终将网站世界的一个核心特性带入webapp世界),它的新工具以及dnx和dnvm中的新的.net core特性将最终“恢复自然的平衡”,我觉得现在已经是在过去的10年里,被网站/网络应用二分法所分割。还没有,但这是我在学习asp.net核心架构时理解的核心设计元素的一部分。
对于ext js,用于visual studio的senchaextjs插件提供了一个file->new web site选项,这很好。我昨天晚上下载并测试了它,它工作得很好。如果我想调用grunt或bower、bundle和minify或任何其他web开发工作流任务,也可以使用外部命令提示窗口手动执行。所以,虽然它可能没有我所期待的那么闪亮,但它有可能完成工作。ext js插件提供完整的ext类层次结构代码完成,以及纯html5(通过file new website)和html5+asp.net(通过file new project)的入门模板。在评估他们的插件时,我最初认为没有办法在visual studio中使用纯html5应用程序,因为我完全不知道file new website选项,并且认为(错误地)这方面的vs已被弃用。
对于包括.NET在内的Angular Spa开发,有一个this模板,如果你想做一个纯HTML5 Spa,你可以使用它,而不必编写任何ASP.NET服务器端的东西。
我可能建议从上面链接的angular sp开发模板开始,修改它以减去angular并插入extjs,或者使用sencha的ide插件提供的asp.net 4.6plus extjs模板,然后从该模板中减去所有的asp.net代码。我还没有关于asp.net core 1.0.xproj世界的入门模板建议。
它应该是可能的,而且似乎很容易将.NET核心和ASP.NET核心用作纯HTML5开发环境工具的关键部分。特别是“dnx web”是本地开发的一种有用方式,因为它比使用iis express更轻量级。用“dnx web”(kestrel)作为纯html5的轻量级静态服务器,开发一个完整的visual studio 2015项目(网站或webapp),或者只使用visual studio代码这样的现代web编辑器,开发html5应该是同样可行的。
我希望其他仍然困惑的开发人员,就像我在visual studio中关于新网站和新web应用程序的长达10年的分裂个性问题一样,最终能够看到一些曙光。
更新:2016年第4季度:实际上,VS 2015中的双向人格分裂问题在VS 2016中会变得更糟(目前预览为VS15),因为打开项目有三种方式,通过一个菜单项打开解决方案/CSproj,通过另一个菜单项打开Web项目,通过第三个菜单项打开文件夹。

关于html5 - 是否在WebSite项目中使用grunt和bower进行HTML5开发,还是在Visual Studio 2015中创建HTML5 Web应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34886885/

相关文章:

javascript - 使用JQueryUI作为音频搜索控件,并在更改歌曲时将新的 slider 重新绑定(bind)到相同的<audio>控件

php - PHP“strip_tags”接受脚本以外的所有内容

html5 - 搜索引擎如何处理AngularJS应用程序?

c++ - 如何在调试和重新分发期间包含 DLL?

visual-studio - CUDA Toolkit 7.5 可以在带有 VS 2013 Platform Toolkit 的 Visual Studio 2015 上使用吗

javascript - 使用 amd 和 requirejs 处理 knockout Spa 中的错误

css - 占位符文本在Safari中的textarea中用完了吗?

keyboard-shortcuts - Visual Studio 2015 无法重新分配键盘快捷键

php - 如何在 Laravel 5 中禁用 cookie?

javascript - 如何使用 KnockoutJS、SammyJS 和 pagerJS 组织 SPA