2017-10-05 1 views
0

전적으로 자바 스크립트 프로젝트 (노드를 사용하지 않음)를 실행 중이므로 Bluebird라는 약속을위한 모듈을로드해야합니다. JavaScript로 모듈을로드하는 데 경험이 없기 때문에 과거에는 항상 평균 스택을 사용했습니다.JavaScript - requireJS를 사용하여 Bluebird 모듈로드하기

나는 index.html을에 다음과 같은 한 :

<script data-main="assets/js/app/App.js" src="assets/js/vendor/require.js"></script> 
<script src="assets/js/app/App.js"></script> 

내가 내 App.js에 내가 가지고있는 것을 온라인으로 읽기 :

define(["bluebird"],function(Promise){ 
    //load modules 
}); 

문제는 내가 모르는 무엇 bluebird.js를로드하기 위해 "// load modules"대신 넣으십시오. 나는 사용하여 시도했다 :

define(["bluebird"],function(Promise){ 
    Promise = require('bluebird'); 
}); 

을하지만이 오류가 : 난 그냥 var Promise = require('bluebird');를 사용하여 시도했다

require.js:5 Uncaught Error: Mismatched anonymous define() module: function (Promise){ 
    Promise = require('bluebird'); 
} 

참고하지만이

+0

requireJS ...에 대한 문서/예제를 확인 했습니까? –

+0

안녕하세요, 저는 오류를 수정하고 require ([ 'bluebird'], function (Promise) {// module loaded}를 사용하여 오류를 수정하는 방법을 보려면 http://requirejs.org/docs/errors.html#mismatch를 확인했습니다.);'로드가 잘되었지만 나머지 App.js가 작동하지 않아 requirejs를로드하는 방법에 뭔가 잘못되어 있어야합니다. – Gary

+0

사용 예제 [here] (http://requirejs.org/docs/api.html#usage)는 가지고있는 것과 매우 다릅니다. –

답변

0

이 requirejs에서 내 원래의 코드를 종료 Uncaught Error: Module name "bluebird" has not been loaded yet for context: _. Use require([])을 반환 오류 문서가 맞았지만 내 index.html에 문제가있어서 실패하게 만들었습니다.

올바른 방법

는 블루 버드는 것 포함합니다 :

require(['bluebird'], function (Promise) { //module loaded }); 

//module loaded에서 당신은 App.js 코드의 대부분을 넣어해야합니다.

requirejs가로드하는 경우 bluebird에 a를 포함하지 않아야합니다.

관련 문제