2013-08-24 2 views
1

저는 몇 시간 동안이 작업을 해본 결과 화를 냈습니다. 크롬의 네트워크 탭은 심지어 jquery가로드되는 것을 보여주지 못합니다.하지만 이전과 같이 bundleconfig의 정확히 같은 위치에 있고 스크립트의 어느 쪽이든 (jquery-ui 포함) 괜찮습니다.Durandal 1.2에서 2.0으로 업그레이드 할 때 'jQuery가 정의되지 않았습니다.'

이 디버깅 방법에 대한 단서가 없습니다. 작동하지 않으려 고합니다.

bundleconfig의

관련 부분 : main.js의

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") _ 

위 :

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; }); 

가에서 오류를 생성 console : "Uncaught ReferenceError : jQuery가 정의되지 않았습니다."jquery 스크립트가로드되지 않았기 때문에 이것이라고 추측 할 수 있습니다.

+0

내가 너무이 오늘에 달렸다 // STAC koverflow.com/questions/18423253/mvc-bundling-failed-to-load-resource 관련이 있는지 모르겠지만 일시적인 해결책은 모든 것이 번들/축소되는 것을 방지하기 위해 디버그 모드와 릴리스 사이에서 실행하는 것입니다. – RobVious

+1

여전히 문제가 무엇인지 확실하지 않지만 bundleconfig의 두 jquery 줄에서 ".min"을 제거하면 확장되지 않은 jquery 파일이 잘로드됩니다. bootstrap.min.js는 아직 정상적으로 작동하지만 무슨 일이 일어나고 있는지 잘 모르겠습니다! – TheMook

+0

경우에 .. require.js를 사용하여 main.js를 호출하기 전에 번들을로드하고 있습니까 ??? – margabit

답변

1

BundleConfig는 기본적으로 DEBUG 모드에서 실행될 때 파일 이름에 .min이있는 javascript 파일을 무시합니다.

bundles.IgnoreList.Clear(); 

당신은 다음과 같이 무시 목록에 자신의 항목을 추가 할 수 있습니다 :이 코드를 넣어

bundles.IgnoreList.Ignore("*.intellisense.js"); 
bundles.IgnoreList.Ignore("*-vsdoc.js"); 
bundles.IgnoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled); 
+0

브렛 입력에 감사드립니다.하지만 그렇지 않습니다. 내 bundleconfig는 이미 모든 작업을 수행합니다. 이것은 Durandal을 1.2에서 2.0으로 업그레이드하기 전에 완벽하게 작동했습니다. 일부 다른 스크립트도 업데이트되었지만 (콘솔에서 "패키지 업데이트"명령을 수행하고 모든 것을 업그레이드 했으므로) 오류가 도입 된 위치를 알지 못합니다. 사실 동일한 디렉토리에 .min 및 일반 js 파일이 있으므로 ".min"이 지정되어 있어도 bundleconfig 파일이 일반 파일을로드해야합니다. 이 작업을 수행하지 않고 정의에서 ".min"을 제거하면 작동합니다. – TheMook

0

시도

나는 항상 먼저 RegisterBundles() 함수 내에서이 행을 포함 당신의 BundleConfig 파일의 시작 : HTTP :

BundleTable.EnableOptimizations = false; 
bundles.IgnoreList.Clear(); 
+0

감사합니다. Tamara. 이는 브렛이 게시 한 내용과 유사하며 아무런 차이가 없습니다. – TheMook

관련 문제