【问题标题】:Bundling and Minification in MVC 6MVC 6 中的捆绑和缩小
【发布时间】:2015-02-11 13:47:18
【问题描述】:

看起来捆绑和缩小不再内置在 MVC 6 中,因为不再有 App_StartBundle.Config

最终发布后会是这样吗?

我猜应该使用 Grunt,因为它似乎已融入 Visual Studio 2015。

更新:看起来微软在 RC1 中改用 Gulp 而不是 Grunt。

【问题讨论】:

    标签: bundling-and-minification asp.net-core asp.net-core-mvc


    【解决方案1】:

    捆绑器和压缩器扩展

    默认的 ASP.NET Core MVC 6 项目模板使用 Bundler & Minifier 扩展。使用 Gulp 的默认模板要强大得多,但对于想要简单的新手开发人员来说,它被认为太复杂了。您可以阅读更多关于从 Gulp 切换的信息和推理 here 或阅读 Bundler & Minifier 扩展的文档 here

    WebPack、Gulp、Grunt、Brocoli 等

    一个更好、更强大的方法是使用Gulp,或任何其他任务运行程序(还有其他名为 Grunt、Brocoli 等的任务运行程序。Gulp 显然比 Grunt 更易于使用和更新,但也比 Brocoli 更受欢迎)。您可以使用ASP.NET MVC Boilerplate 项目模板来获取内置 Gulp 的项目。

    这个新的名字叫做 WebPack,根据谷歌的说法,它现在和 Gulp 一样流行。

    ASP.NET MVC 5 捆绑和缩小和 Smidge

    ASP.NET MVC 5 中的旧捆绑和缩小已被删除,但 GitHub 上有一个项目可以为 MVC 6 构建它,名为 Smidge

    【讨论】:

    • 在 Visual Studio 的 RC1 版本中刚刚切换到 Gulp。它曾经是 Beta 版的 Grunt。
    【解决方案2】:

    Grunt 是 ASP.NET 5 应用程序中推荐的方法。没有计划像以前的 ASP.NET 捆绑和缩小(优化)系统那样构建系统。

    【讨论】:

    • 这太令人失望了。捆绑和缩小在 MVC 中非常棒。调试行为很棒。 Grunt 将很多工作留给了开发人员,每个人都有自己的技术。这感觉像是倒退了一步。
    • 由于这是 Google 的顶级搜索结果,因此认为这是一个更新的好地方。这个选定的答案不再是这种情况。现在捆绑的默认方式是 VS 扩展,或者在 MAC/Linux 上通过命令公开的 Nuget 包。见这里:github.com/madskristensen/BundlerMinifier
    【解决方案3】:

    VS2015 有一个用于捆绑和缩小文件的扩展,可在此处获得: https://visualstudiogallery.msdn.microsoft.com/9ec27da7-e24b-4d56-8064-fd7e88ac1c40

    我刚刚使用了这个,还创建了一个 html 帮助程序以在调试模式下呈现未捆绑/未缩小的文件,这里提供了帮助程序:
    https://bundlerminifierhelper.codeplex.com/

    使用这些你不需要了解 gulp、任务运行器等。

    【讨论】:

      【解决方案4】:

      SquishIt 提供了与 MVC 5 捆绑非常相似的功能和 API。实际上它早于 MVC 捆绑。如果您想留在 .NET 领域,请确保您可以发展到需要与上下文路由属性更紧密集成的更高级的捆绑场景,避免浪费时间调试服务器端 javascript,当您出现轻微的错字或错位时,这些 JavaScript 会静默失败,需要如果您要关注所有属性,并利用我们熟悉和喜爱的语言,那么我会推荐 SquishIt。

      Javascript 有它的位置。在我看来,这不是它的位置。

      通过使用 squishit,您还可以从 ASP.NET 团队的突发奇想中减少一件事情。

      【讨论】:

        【解决方案5】:

        或者,如果您正在寻找一个非常简单的轻量级 ASP.NET Core MVC6 Gulp 模板(而不是默认的 .NET Core 捆绑包),您可以查看my github 项目。

        【讨论】:

          猜你喜欢
          • 2014-11-26
          • 2018-05-11
          • 1970-01-01
          • 2013-02-21
          • 2014-05-22
          • 1970-01-01
          • 2019-03-05
          • 2014-04-16
          • 2017-12-12
          相关资源
          最近更新 更多