2013-03-30 18 views
6

Bu yüzden Require.js uygulamasında yeniyim ve Require.js yöntemlerini kullanarak çeşitli diğer kitaplıkları yükleyerek bu kitaplığı öğreniyorum.Require.js kullanarak jwplayer.js yükleniyor

Knockout.js nesnelerini, Chart.js nesnesini ve özel Require.js tanımlı nesneleri başarıyla yükledim.

Ancak Require.js kullanarak jwplayer'ı yükleyemiyorum. Yakalanmayan TypeError: Bu aldığım hata yöntemidir tanımsız

yöntemi 'jwplayer' Aranamıyor Bu (Nakavt, Grafik tüm başarıyla yüklendi nesneleri) benim örnek kod

require(['jwplayer/jwplayer', 'libs/Chart', 'libs/knockout-2.1.0', 'appViewModel','helper/util'], function(jwplayer, chart, ko, appViewModel, util) { 

//LOADING FROM jwplayer.js 
jwplayer("player").setup({ 
    width: '320', 
    height: '40', 
    sources: [{ 
     file: "rtmp://127.0.0.1:1935/vod/mp3:sample_1.mp3" 
    },{ 
     file: "http://127.0.0.1:1935/vod/sample_1.mp3/playlist.m3u8" 
    }] 
}); 

//LOADING FROM Chart.js 
var barChartData = { 
    labels : ["January","February","March","April","May","June","July"], 
    datasets : [ 
     { 
      fillColor : "rgba(220,220,220,0.5)", 
      strokeColor : "rgba(220,220,220,1)", 
      data : [65,59,90,81,56,55,40] 
     }, 
     { 
      fillColor : "rgba(151,187,205,0.5)", 
      strokeColor : "rgba(151,187,205,1)", 
      data : [28,48,40,19,96,27,100] 
     } 
    ] 
}; 
var myLine = new Chart(document.getElementById("canvas").getContext("2d")).Bar(barChartData); 

//LOADING FROM knockout-2.1.0.js 
ko.applyBindings(new appViewModel()); 

//LOADING FROM A CUSTOM DEFINED OBJECT 
util.greets(); 
    }); 

Peki Require.js kullanarak jwplayer.js yüklüyor musunuz?

cevap

8

jwplayer.js require.js için bir modül tanımlamıyor, bu yüzden shim config, böyle bir şey kullanmak zorunda gidiyoruz:

require.config({ 
    shim: { 
     'jwplayer/jwplayer': { 
      exports: 'jwplayer' 
     } 
    } 
}); 

Sen nasıl kullanılacağı hakkında daha fazla görebilirsiniz requirjs api docs içinde.

Düzeltme: Yazım hatası kod örneği.

Düzenleme 2: jwplayer() öğesinin, döndürdüğünüz oynatıcıyı bulamıyorsa null döndüreceği belirtilmelidir, bu nedenle doğru şekilde yüklenmiş olsa bile, yine de bu hatayı atar. Hatta yapılandırmayı içeren sonra hata almaya iseniz, ihtiyaç geri aramasında

console.log(jwplayer.api); 

gibi bir şey eklemeyi deneyin ve bir şey olmadığını görmek için konsolunu kontrol edin.

+0

Teşekkürler, shim yapılandırması mükemmel çalışıyor! :) –

+0

Çok güzel, oy kullandı! :) – emaxsaun