2017-10-05 16 views
0

私は純粋にJavaScriptプロジェクト(ノードを使用していない)を実行しています。私はBluebirdというPromisesのモジュールをロードする必要があります。 私はJavaScriptを使用してロード・モジュールで経験していないよ、私はいつも過去に平均スタックを使用しました。JavaScript - requireJSを使用してBluebirdモジュールをロードする

私はindex.htmlの中に次き:

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

を問題は、私が何を知っていないということです。

<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に私が持っている必要があることをオンラインで読みます「// load modules」の代わりにbluebird.jsをロードします。私が使って試してみた:

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

使用例は[こちら](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に問題があり、失敗する原因となっていました。

青い鳥を含めるための正しい方法は次のようになります。

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

あなたはApp.jsコードの大部分を配置する必要があります。

あなたはrequirejsがそれをロードしている場合は、いずれかのブルーバードのために含まれていないことを確認する必要があります。

関連する問題