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

デフォルトでは、BundleConfig は、.minDEBUG モードでの実行時にファイル名に含まれる 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 に答える