zoukankan      html  css  js  c++  java
  • MVC ScriptBundle自定义排序。

    今天发现MVC的ScriptBundle @Scripts.Render()后是按照我也不知道顺序显示在页面上的,后果就是jquery.min.js被排在了后面(反正我下面那堆默认jquery.min.js在第三个)导致javascript报错,所以很多情况不能自动按照首字母排序。

    解决方法如下:

    先新建一个类:

    internal class AsIsBundleOrderer : IBundleOrderer
    {
        public virtual IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
        {
            return files;
        }
    }

    之后绑定的时候这样绑定:

    ScriptBundle mandatoryJs = new ScriptBundle("~/Metronic/mandatoryJs");
    mandatoryJs.Orderer = new AsIsBundleOrderer();
    mandatoryJs.Include(
            "~/plugins/Metronic/global/plugins/jquery.min.js",
            "~/plugins/Metronic/global/plugins/jquery-migrate.min.js",
            "~/plugins/Metronic/global/plugins/jquery-ui/jquery-ui.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap/js/bootstrap.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
            "~/plugins/Metronic/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js",
            "~/plugins/Metronic/global/plugins/jquery.blockui.min.js",
            "~/plugins/Metronic/global/plugins/jquery.cokie.min.js",
            "~/plugins/Metronic/global/plugins/uniform/jquery.uniform.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js"
        );
    bundles.Add(mandatoryJs);

    就好了。

    最后还可以再简化下:

    bundles.Add(new ScriptBundle("~/Metronic/mandatoryJs") { Orderer = new AsIsBundleOrderer() }.Include(
            "~/plugins/Metronic/global/plugins/jquery.min.js",
            "~/plugins/Metronic/global/plugins/jquery-migrate.min.js",
            "~/plugins/Metronic/global/plugins/jquery-ui/jquery-ui.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap/js/bootstrap.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
            "~/plugins/Metronic/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js",
            "~/plugins/Metronic/global/plugins/jquery.blockui.min.js",
            "~/plugins/Metronic/global/plugins/jquery.cokie.min.js",
            "~/plugins/Metronic/global/plugins/uniform/jquery.uniform.min.js",
            "~/plugins/Metronic/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js"
        ));

    看起来就和一开始比较像了。

  • 相关阅读:
    ssh-copy-id 的使用方法
    如何保证 docker daemon重启,但容器不重启
    vim设置golang语法高亮 (Centos)
    Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed
    Please supply the message using either -m or -F option.
    sudo: Sorry, you must have a tty to run sudo Error on a Linux and Unix
    vim plugins (vim 插件) 工具集
    OmniGraffle v6 注册码
    test
    Collections.addAll 为什么比collection.addall 快(转)
  • 原文地址:https://www.cnblogs.com/ANPY/p/4790601.html
Copyright © 2011-2022 走看看