📜  .Net Core Bundling & minification 02 : .net core 当前上下文中不存在名称'Scripts' - C# (1)

📅  最后修改于: 2023-12-03 15:29:07.706000             🧑  作者: Mango

.Net Core Bundling & minification 02 : .net core 当前上下文中不存在名称'Scripts' - C#

在使用ASP.NET Core应用程序开发期间,您通常会遇到许多关于Bundling和Minification的问题,本文将解决一个当前上下文中不存在名称“Scripts”的问题。

问题描述

在ASP.NET Core应用程序中,我们经常需要压缩和捆绑我们的JavaScript,其中一个常见的问题是在捆绑和压缩JavaScript时,我们可能会遇到以下错误:

“System.InvalidOperationException: The current context does not contain the name ‘Scripts’”

这意味着ASP.NET Core应用程序无法找到名称为“Scripts”的对象,因此无法继续捆绑和压缩JavaScript。

解决方案

在ASP.NET Core中,我们需要确保我们正确设置我们的捆绑和压缩设置。 我们可以在Startup.cs文件的ConfigureServices方法中进行设置。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    
    services.AddMvc().AddMvcOptions(options =>
    {
        options.Filters.Add(new MinifyHtmlAttribute());
    });

    services.AddWebOptimizer(pipeline =>
    {
        // Add your CSS, JS, and image assets here
        // Example:
        // pipeline.AddCssBundle("/css/site.css", "lib/bootstrap/dist/css/bootstrap.css", "css/site.css");
        // pipeline.AddJavaScriptBundle("/js/site.js", "lib/jquery/dist/jquery.js", "lib/bootstrap/dist/js/bootstrap.js", "js/site.js");
        // pipeline.AddImageFiles("/images/*.png");

        pipeline.MinifyJsFiles("*");
        pipeline.MinifyCssFiles("*");
    });
}

在上述代码中,我们使用了ASP.NET Core的WebOptimizer库,该库允许我们方便地设置捆绑和压缩设置。 我们使用MinifyJsFiles(“”)方法来压缩所有JavaScript文件,并使用MinifyCssFiles(“”)方法压缩所有CSS文件。

一旦我们正确设置了这些设置,我们应该能够成功地捆绑和压缩JavaScript,而不会遇到“当前上下文中不存在名称”Scripts“”的错误。

总结

在本文中,我们讨论了“当前上下文中不存在名称”Scripts“”错误,我们了解了如何使用WebOptimizer库进行捆绑和压缩设置,以避免遇到此错误。 请确保正确设置您的设置,并始终遵循最佳做法。