1

我一直在摆弄这个几个小时,这让我发疯。chrome的网络选项卡甚至没有显示正在加载jquery,但它在bundleconfig中的位置与以前完全相同,并且它两侧的脚本(包括jquery-ui)加载得很好。

我不知道如何调试它 - 它只是不想工作!

bundleconfig 的相关部分:

    bundles.Add(New ScriptBundle("~/scripts/vendor") _
                .Include("~/scripts/jquery-{version}.min.js") _
                .Include("~/scripts/jquery-ui-{version}.min.js") _
                .Include("~/scripts/bootstrap.min.js") _
                .Include("~/scripts/fancytree/jquery.fancytree.js") _

main.js 的顶部:

requirejs.config({
    paths: {
        'text': '../Scripts/text',
        'durandal': '../Scripts/durandal',
        'plugins': '../Scripts/durandal/plugins',
        'transitions': '../Scripts/durandal/transitions'
    }
});

define('jquery', function () { return jQuery; });
define('knockout', ko);

define(['durandal/system', 'durandal/app', 'durandal/viewLocator'], function (system, app, viewLocator) {

main.js 中的行说:

define('jquery', function () { return jQuery; });

在控制台中创建一个错误:“Uncaught ReferenceError: jQuery is not defined”,我猜这是因为尚未加载 jquery 脚本。

4

2 回答 2

1

.min请注意,在调试模式下运行时,BundleConfig 默认会忽略文件名中包含的 javascript 文件。

我总是在RegisterBundles()函数中首先包含这一行:

bundles.IgnoreList.Clear();

然后,您可以将自己的条目添加到忽略列表中,如下所示:

bundles.IgnoreList.Ignore("*.intellisense.js");
bundles.IgnoreList.Ignore("*-vsdoc.js");
bundles.IgnoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
于 2013-08-26T18:59:11.427 回答
0

尝试将此代码放在 BundleConfig 文件的开头:

BundleTable.EnableOptimizations = false;
bundles.IgnoreList.Clear();
于 2013-11-06T12:40:32.973 回答