标签: scriptbundle

如何在BundleConfig文件中填充{version}值?

我最近在我的项目中添加了jquery.dataTables nuget包,我想在BundleConfig中捆绑必要的文件.由于此软件包安装在Scripts文件夹中的"DataTables-1.9.4"文件夹中,因此我在BundlesConfig中添加了以下行:

bundles.Add(new ScriptBundle("~/bundles/dataTables").Include(
            "~/Scripts/DataTables-{version}/media/js/jquery.dataTables.js"));
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

System.Web.Optimization.dll中出现"System.ArgumentException"类型的异常,但未在用户代码中处理

当我将该行修改为:

bundles.Add(new ScriptBundle("~/bundles/dataTables").Include(
            "~/Scripts/DataTables-1.9.4/media/js/jquery.dataTables.js"));
Run Code Online (Sandbox Code Playgroud)

它工作得很好.

所以我的问题是如何在JQuery包的情况下注入版本?这是在包本身的某个地方定义的,有没有办法让我解决这个问题?我讨厌每次更新dataTables nuget包时都必须更改我的bundle配置的想法...

.net asp.net-mvc scriptbundle

10
推荐指数
3
解决办法
6786
查看次数

有没有一种简单的方法来使用Microsoft Web Optimization框架/脚本捆绑呈现绝对URL?

我正在尝试使用Microsoft的Web优化框架呈现JavaScript包,如下所示:

@Scripts.Render("~/assets/bundle.js")
Run Code Online (Sandbox Code Playgroud)

并建立一个小包,像这样:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/assets/bundle.js")
        .Include(
            "~/scripts/jquery-2.1.0.min.js",
            "~/scripts/somescript.js"
        ));

    ...
}
Run Code Online (Sandbox Code Playgroud)

但是当启用优化时,它只会呈现相对URL,如下所示:

<script src="/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
Run Code Online (Sandbox Code Playgroud)

如何让脚本捆绑呈现绝对URL呢? 我找不到一种方法来查看MSDN上的文档.这是我最终会喜欢的:

<script src="http://my.site.com/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
Run Code Online (Sandbox Code Playgroud)

这是在框架中,还是我必须使用辅助方法Script.Url

asp.net bundling-and-minification scriptbundle

10
推荐指数
1
解决办法
4828
查看次数

ASP.NET MVC Script包未呈现

我在BundleConfig.cs文件中包含以下行:

bundles.Add(new ScriptBundle("~/bundles/jqueryajax").Include(
  "~/Scripts/jquery.unobtrusive-ajax.min.js"));
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试在其他脚本中呈现它时,它被跳过了.

以下是我渲染脚本的方法:

@Scripts.Render(
    "~/bundles/jquery",
    "~/bundles/jqueryui",
    "~/bundles/jqueryajax",
    "~/bundles/jquerytree")
Run Code Online (Sandbox Code Playgroud)

这是输出HTML,省略了jqueryajax包:

<script src="/Scripts/jquery-1.9.1.js"></script>
<script src="/Scripts/jquery-ui-1.10.2.js"></script>
<script src="/Scripts/jquery.jstree.js"></script>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unobtrusive-javascript scriptbundle

9
推荐指数
1
解决办法
1万
查看次数

asp.net scriptbundle多个include vs single include

捆绑有什么区别:

  bundles.Add(new ScriptBundle("~/bundles/jquery")
  .Include("~/Scripts/jquery-{version}.js","file2.js", "file3.js"));
Run Code Online (Sandbox Code Playgroud)

VS

   bundles.Add(new ScriptBundle("~/bundles/jquery")
                .Include("~/Scripts/jquery-{version}.js")
                .Include("file2.js")
                .Include("file3.js"));
Run Code Online (Sandbox Code Playgroud)

我可以在ONE include方法中放入许多脚本,或者我可以使用许多include方法.

我什么时候应该用什么?

asp.net bundling-and-minification scriptbundle

5
推荐指数
1
解决办法
479
查看次数

ScriptBundle 表示对象引用未设置为对象的实例

在 Asp.Net MVC BundleConfig 中,如果我使用ScriptBundle它,则会显示此代码的以下错误:

代码:

bundles.Add(new ScriptBundle("~/node/GobiJs").Include(
            "~/node_modules/...../test.js"
        ));
Run Code Online (Sandbox Code Playgroud)

错误:

在此输入图像描述

但如果我用Bundle而不是ScriptBundle

bundles.Add(new Bundle("~/node/GobiJs").Include(
                "~/node_modules/...../test.js"
            ));
Run Code Online (Sandbox Code Playgroud)

效果很好。谁能告诉我有什么问题ScriptBundle,为什么它不起作用?

scriptbundle asp.net-mvc-5

5
推荐指数
0
解决办法
2949
查看次数

MVC 4:强制ScriptBundle返回Javascript文件的非优化链接

我们试图在MVC 4中获取ScriptBundle,以便在web.config中的debug = false时返回扩展的javascript列表.默认情况下,ScriptBundle会在debug = false时将javascript优化为一个调用.

目前,当您在web.config中设置debug = false时,ScriptBundle将组合并缩小 javascript文件,如下所示:

 <script src="/AAA/Scripts/a?dfkjghakjsdfhglkjasdhfkljasdf"></script>
Run Code Online (Sandbox Code Playgroud)

我们需要Scriptbundle,当debug = false时,输出扩展的javascript,如下所示:

<script src="/AAA/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="/AAA/Scripts/jquery.tipTip.js"></script>
Run Code Online (Sandbox Code Playgroud)

有没有办法关闭Scriptbundle优化?

为什么?当我们在网站上进行https重定向时,ScriptBundle优化的脚本链接不起作用(我们在链接上获得503 Forbidden)

asp.net-mvc minify asp.net-mvc-4 bundling-and-minification scriptbundle

3
推荐指数
1
解决办法
4825
查看次数