1

requireJS가 설탕 구문을 지원한다는 것을 알고 있습니다. 다음 코드는 js/window/startup.js에있는 모듈을 jquery, underscore 및 Backbone의 종속성과 함께로드하는 것이 맞습니까?설탕 구문을 사용해야합니까?

require.config({ 
    baseUrl: 'http://localhost/js/', 
    path: { 
    jquery: '/lib/jquery-1.9.1.min', 
    underscore: '/lib/underscore-1.4.4', 
    backbone: '/lib/backbone-1.0' 
    } 
}); 

require([ 
    './window/startup', 
    'jquery', 
    'underscore', 
    'backbone', 
], function(Startup){ 
    Startup.init(); 
}); 

JS/창/startup.js의 코드 :

define(function (require) { 
    var $ = require('jquery'); 
     _ = require('underscore'); 
     Backbone = require('backbone'); 

    //Test to see if module is being fired 
    console.log('The module code has been executed!'); 

    var init = function(){ 
    /* SOME CODE */ 
    //Test to see if the init function has fired 
    console.log('The initialize function has fired!'); 
    } 

    return { 
    init: init 
    } 

}); 

모든 문서에 부합하는 것 같다, 그러나 나는이 코드를 실행하면, 두 개의 콘솔 메시지도 표시됩니다.

+0

머리를 주셔서 감사합니다 - 즉시 작성했습니다. 그래도 오류를 해결하지 못했습니다. – AlexZ

+0

다음은 코드에있는 다양한 오류를 강조 표시 한 답변입니다. – Lukas

+0

간단한 팁 : 정의 (...)에서 모듈을 래핑하는 대신 CommonJS 구문을 사용하려는 경우 cajon - https://github.com/requirejs/cajon을 확인하십시오. –

답변

2

코드 전체에 다양한 구문 오류가 확산되었습니다. 작업 예제는 this plunker을 확인하십시오.

다음은 잘못된받은 한 내용은 다음과 같습니다

require.config({       // NEED PARENTHESIS HERE 
    baseUrl: 'http://localhost/js/', 
    paths: {        // SHOULD BE paths, NOT path 
    jquery: '/lib/jquery-1.9.1.min', 
    underscore: '/lib/underscore-1.4.4', 
    backbone: '/lib/backbone-1.0' 
    } 
});          // NEED END PARENTHESIS HERE 

require([ 
    './window/startup', 
    'jquery', 
    'underscore', 
    'backbone'        // GET RID OF TRAILING COMMA 
], function(Startup){ 
    Startup.init(); 
}); 

그리고 다른 파일에

는 :

define(function (require) {    // GET RID OF EXTRA PARENTHESIS IN HERE 
    var $ = require('jquery'),    // SHOULD BE COMMA, NOT SEMICOLON 
     _ = require('underscore'),   // SHOULD BE COMMA, NOT SEMICOLON 
     Backbone = require('backbone'); 

    //Test to see if module is being fired 
    console.log('The module code has been executed!'); 

    var init = function(){     // NEED AN ASSIGNMENT, INSTEAD OF JUST var fn() {} 
    /* SOME CODE */ 
    //Test to see if the init function has fired 
    console.log('The initialize function has fired!'); 
    }; 

    return { 
    init: init 
    }; 

});          // NEED END PARENTHESIS HERE 

난 강력하게 구문 오류를보고 코드 편집기를 사용하는 것이 좋습니다 것입니다. 이렇게하면 이런 문제를 피할 수 있습니다.

+0

감사합니다. 구문 오류를 지적하지만 문제의 근원이 아니며 오류가 수정 되어도 코드는 여전히 작동하지 않습니다. – AlexZ

+0

코드에서 답안에 링크 된 예제 플러 커와 코드를 비교 했습니까? 그것은 효과가있다. . . . – Lukas

+0

예, 아쉽게도 주사위가 없습니다 :( – AlexZ