2016-07-26 4 views
0

enter image description hererequirejs 모듈을로드 할 수없는 이유는 무엇입니까?

내 디렉토리 구조/따르고 app.js 내가
<script src="lib/requirejs/require.js" data-main="js/app.js"></script>

그리고 JS처럼 index.html을에 스크립트를 연결 , 위처럼

require.config({ 
    paths : { 
    'backbone' : 'lib/backbone/backbone-min.js', 
    'underscore' : 'lib/underscore/underscore-min.js', 
    'jquery' : 'lib/jquery/jquery.min.js', 
    'bootstrap' : 'lib/bootstrap/bootstrap.min.js', 
    }, 
    shim : { 
    bootstrap : { 
     deps : 'jquery' 
    }, 

    backbone : { 
     deps : ['jquery', 'underscore'], 
     exports : 'Backbone' 
    }, 
    underscore : { 
     exports : '_' 
    } 
    } 
}); 

require(['bootstrap'], function (bootstrap) { 
    console.log('loaded') 
}) 

은 할 수 없습니다 부트 스트랩을로드하십시오. 첫 번째 인수의 문자열 배열을해야하기 때문에이 유효하지

require("foo", function() {...}) 

: 콘솔의 로그는 Uncaught Error: Invalid require call

답변

0

으로 당신이 같은 전화를 할 때 in the documentationInvalid require call가 발생 설명이다. 또는 CommonJS 설탕을 사용하는 경우 콜백이 없어야합니다.

위에 나와있는 코드에 require 호출이 없습니다. 코드베이스를 검사하여 오류의 원인이되는 호출의 인스턴스를 찾아야합니다. 파일의 텍스트를 검색 할 수 있습니다. 오류가 확실 해지면 오류가 사라질 때까지 모듈을 적게로드하는 코드를 변경 한 다음 오류가 다시 발생할 때까지 모듈을 하나씩 추가 할 수 있습니다. 그러면 가능성을 좁힐 수 있습니다.

질문에 표시되는 모든 라이브러리를 사용했지만 어느 누구도보고 한 오류를 발생시키지 않았습니다. 이 라이브러리의 잘못된 빌드를 다운로드했거나 오류가 발생한 곳의 사용자 지정 코드가 있습니다.

+0

감사합니다. 문제를 해결했습니다. 이 오류는 '부트 스트랩'키에서 'deps'값이 종속성 배열이어야하기 때문에 발생합니다. 모듈에는 하나의 모듈이 있어야하지만 문자열이 아닙니다. 'deps : [ 'jquery']' – fasdgoc

관련 문제