我可以搜索文档并将我找到的任何js文件添加到ASP.NET MVC中的包中吗?

时间:2017-06-15 00:36:13

标签: c# asp.net-mvc asp.net-mvc-5

所以我们正在建立一个带插件的网站,我想知道我是否可以在插件文件夹中搜索任何js文件,并将它们添加到 BundleConfig.cs 类中的所有包中

我考虑过将所有要捆绑的文件命名为Plugin.pluginName.js,然后搜索所有文件,查找与“ Plugin。 .js *”相匹配的文件。 ,但我不确定如何做到这一点。

如何创建插件包?

2 个答案:

答案 0 :(得分:2)

根据命名约定命名要捆绑的所有文件的想法是一个很好的约定。

将脚本包添加到包集合

SELECT @@VERSION AS 'SQL Server Version'
Microsoft SQL Azure (RTM) - 12.0.2000.8   Jun 11 2017 11:55:10   Copyright 
(C) 2017 Microsoft Corporation. All rights reserved. 

如果您想放弃命名约定,也可以在plugins文件夹中搜索任何js文件

public static void RegisterBundles(BundleCollection bundles) {
    bundles.Add(new ScriptBundle("~/bundles/plugins").Include(
            "~/Scripts/*.Plugin.js")); //{pluginName}.Plugin.js convention

    //...other bundles
}

在视图中引用使用注册名称

的包
public static void RegisterBundles(BundleCollection bundles) {
    bundles.Add(new ScriptBundle("~/bundles/plugins")
            .IncludeDirectory("~/Plugin‌​s", "*.Plugin.js", true));
    //above recursively search subdirectories of directoryVirtualPath.

    //...other bundles
}

参考Using Bundling and Minification with ASP.NET MVC

答案 1 :(得分:-1)

什么是捆绑?

Bundling是ASP.NET 4.5中的一项新功能,可以轻松地将多个文件合并或捆绑到一个文件中。 您可以创建CSS,JavaScript和其他捆绑包。更少的文件意味着更少的HTTP请求,并且可以提高首页加载性能。

如何启用捆绑?

通过在Web.config文件中的编译元素中设置debug属性的值来启用或禁用捆绑。在以下XML中,debug设置为true,因此禁用了捆绑和缩小。 XML

<system.web>
    <compilation debug="true" />

</system.web>

要启用捆绑和缩小,请将调试值设置为“false”。

您可以使用BundleTable类上的EnableOptimizations属性覆盖Web.config设置。 以下代码启用了捆绑和缩小功能,并覆盖了Web.config文件中的任何设置。

示例

public static void RegisterBundles(BundleCollection bundles) {


    bundles.Add(new ScriptBundle("~/bundles/AnyName").Include(
            "~/Scripts/Plugins/*.js"));    // this will all the files in the plugins folder with .js extension
                                           //you can specify files separately if dont want to use wildcards

      BundleTable.EnableOptimizations = true;
}

重要说明: Include方法中指定的虚拟路径和IncludeDirectory方法中的搜索模式可以在最后一个路径中接受一个“*”通配符作为前缀或后缀片段

官方文件:https://docs.microsoft.com/en-us/aspnet/mvc/overview/performance/bundling-and-minification#using-bundling-and-minification-with-aspnet-mvc

由于

KARTHIK