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

4
我想建立一个自定义的纯HTML5 Web模板,用于HTML5/CSS3/JavaScript单页面应用程序开发,并将其用作SPA HTML5 Web开发的起点。
微软明确推荐使用Web应用程序,但没有提供纯HTML5 Web应用程序模板,因此这个任务留给了最终用户。
我不是在问是否应该使用ASP.NET网站或ASP.NET Web应用程序,而是在问,我可以安排哪种模板配置,让我使用最现代的HTML5工具和工作流程,以及Web应用程序(带有.csproj或.xproj项目文件)或Web Site项目(基于文件夹的项目)?
对于需要构建纯HTML5 SPA(可能使用ExtJS或Angular等相当的工具)的开发人员,第一个选择是File->New Web Site和File->New Web Application。
如果以后我的HTML5项目可能会添加一些ASP.NET,那么显然我应该选择File->New Web application,但是没有提供HTML5模板,所以我正在寻找建立自己的模板并使用它。但是它应该基于什么?
对于WebSite选项,您单击文件新建网站,然后获得基于文件夹的项目,但没有新的grunt/bower支持。
我正在寻找一种方法来同时获得两种选择的最佳结果。如果我单击文件新建网站,我是否可以获得grunt/bower支持?或者如果我单击文件新建项目,我是否可以以纯HTML5的方式工作?
我可以自己拼凑一个纯HTML5 Web开发.csproj + .sln项目,从一些曾经在codeplex上的示例开始,现在它们在GitHub上。 在我看来,使用.csproj或.xproj为纯HTML5开发提供以下好处:
  • 我可以指定我想在项目资源管理器中看到的文件。

  • 我可以轻松地将ASP.NET WebAPI控制器添加到我的“纯”项目中,而无需重新构建项目。

我可以使用ASP.NET 5(DNX)Web应用程序模板(.xproj)之一,并删除所有C#内容,以获得一个工作的纯HTML5开发模板,并保留所有新的javascript grunt / bower工具?还是必须坚持Web站点(文件夹级别)项目及其Visual Studio 2005时代的网站开发功能,进行纯HTML5 html / css / javascript开发?更新:如果投票者认为“意见”基础的关闭投票者能够指出我在哪里提出任何意见,那就太好了。我正在寻求开发Visual Studio模板的帮助,我相信这是主题,而且根本不需要征求意见。要开发模板,您必须做出选择。哪一个将提供最完整的HTML5工具,包括grunt和bower以及完整的JavaScript语法突出显示,jslint,bundle,minify等?

如果我想使用ExtJS,我可以使用Sencha Ext JS插件中包含的ExtJS网站模板,该插件适用于Visual Studio。https://www.sencha.com/blog/sencha-visual-studio-and-eclipse-plugins-are-generally-available/ - Warren P
1个回答

2

在开发模板时,我的研究至今显示:

  • 耐心点,新技术还处于早期。 ASP.NET Core 1.0 刚刚发布,但是不包括某些元素,包括一组基于新 .xproj 样式的纯 HTML5 Web 项目开发(名称尚未公布,但让我们猜测,可能称为 Core Pages),无论如何,微软正在重新启动纯 HTML5 开发与 Microsoft Visual Studio 的合作,但现在要么不存在,要么处于内部开发的早期阶段。如果微软在这里有所行动,那么我今天可以制作的任何模板都可能在三周或三个月后过时。

  • 目前,对于可以接受的人来说,文件->新建网站功能很好用,我没有找到任何技术上的文档理由说明为什么你不能用它进行新开发,只是微软提醒你如果可以通过文件->新建项目模板满足你的需求,那么它可能不是最佳选择。从 ASP.NET Core 1.0 今天的工作方式(ASP.NET Core 中的即时自动重新编译带来了一个核心特性,将 WebSite 世界的一个重要特性带到了 WebApp 世界中)可以看出,它的新工具和 dnx 和 dnvm 中的新 .NET Core 特性将最终“恢复自然平衡”,我认为在过去的十年中已经被 WebSite/WebApp 二分法分开。虽然现在还没有,但这是我从研究 ASP.NET Core 架构中了解到的核心设计元素之一。

  • 对于 ExtJS,Sencha Ext JS Visual Studio 插件提供文件->新建网站选项,这很好用。我昨晚下载并测试了它,它很好用。如果我想调用 grunt 或 bower,或者捆绑和压缩,或者任何其他 Web 开发工作流程任务,我也可以使用外部命令提示窗口手动完成。因此,虽然它可能不像我想象的那样闪亮,但是可以完成工作。Ext JS 插件提供完整的 Ext 类层次结构代码补全,并为纯 HTML5(通过文件新建网站)和 HTML5+ASP.NET(通过文件新建项目)提供起始模板。当评估他们的插件时,我最初认为在 Visual Studio 中无法创建纯 HTML5 应用程序,因为我完全不知道文件->新建网站选项,并且认为(错误地)在 VS 的这个区域已经过时了。

  • 对于 Angular SPA 开发,包括 .NET,有 这个 模板,如果你想要做一个纯 HTML5 SPA,看起来你可以使用它而不编写任何 ASP.NET 服务器端内容。

  • 我可能会建议从上面链接的 Angular SP 开发模板开始,并将其修改为减去 angular 并插入 ExtJS,或者使用 Sencha 的 IDE 插件提供的 ASP.NET 4.6 加 ExtJS 模板,并从该模板中减去所有 ASP.NET 代码。我还没有为 ASP.NET Core 1.0 .xproj 世界提供入门模板的建议。

    我希望其他开发人员能够像我一样,对于Visual Studio中的New Web Site和New Web Application这两个问题感到困惑已经持续了10年之久,现在终于看到了曙光。
    更新:Q4/2016:事实上,看起来VS 2015中的这种分裂问题将会在VS 2016(目前正在预览版VS15中)变得更加糟糕,因为将有三种方式打开项目,一种是通过一个菜单项打开解决方案/csproj,另一种是通过另一个菜单项打开Web项目,第三种则是通过打开文件夹。

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