2015-07-21 79 views
0

我想在這裏消耗OSC庫的瀏覽器部分:(使用RequireJS)在我的打字稿AMD官方網站https://github.com/colinbdclark/osc.js使用打字稿AMD構建失敗,OSC對象導入OSC庫正確

我打算寫的定義至少在我使用它的範圍內。然而,當我導入通過(精縮與否)OSC對瀏覽器的js文件要求:

 //From the require config 
     oscbrowser: ["/scripts/lib/osc.js/dist/osc-browser.min"], 
... 
     oscbrowser: { 
      export: "osc" 
     }, 
... 
//From the typescript file 
declare var osc; 

Requirejs給了我下面的JavaScript運行時錯誤:

Uncaught Error: Module name "events" has not been loaded yet for context: _. Use require([])

我已經更新到最新的磁帶庫根據Colin的評論以及參考滑動庫的錯誤更改。

Uncaught Error: Module name "slip" has not been loaded yet for context: _. Use require([])

當我通過需要配置拉中的所有組件,如下所示:

EventEmitter: ["/scripts/lib/eventEmitter/EventEmitter"], 
    slip: ["/scripts/lib/slip.js/dist/slip.min"], 
    osc: ["/scripts/lib/osc.js/src/osc"], 
    osctransports: ["/scripts/lib/osc.js/src/osc-transports"], 
    oscbrowser: ["/scripts/lib/osc.js/src/platforms/osc-browser"], 

和 EventEmitter:{ 出口: 「EventEmitter」 }, osctransports:{ DEPS:[」滑動「,」EventEmitter「] }, oscbrowser:{ export:」osc「, deps:[」slip「,」EventEmitter「,」osc「,」osctransports「] },

錯誤返回事件錯誤:

Uncaught Error: Module name "events" has not been loaded yet for context: _. Use require([])

如果我改變從

EventEmitter = EventEmitter || require("events").EventEmitter; 

在OSC-transports.js行至

EventEmitter = EventEmitter || require("EventEmitter") || require("events").EventEmitter; 

因爲我相信事先要求只適用於NPM版本的EventEmitter,JavaScript錯誤消失了圖書館似乎工作。

有沒有比RequireJS更有經驗的人有一個想法,爲什麼我不能只使用dist/ocs瀏覽器版本的庫?

+0

@ colin-clark更新了庫,現在唯一剩下的問題是與typescript的模塊導入代碼有關的問題,因爲它涉及到這個bug:https://github.com/Microsoft/TypeScript/issues/2192。作爲解決方法,osc可以通過構造函數中的require語句進行分配。 – Chris

回答

2

我是osc.js的創建者。直到最近,osc.js並不直接支持異步模塊加載器。看到你的問題後,我添加了對庫文件庫的支持universal module definition樣式樣板,所以osc.js version 1.1.3及以上版本現在可以與Require.js一起使用。

+0

嘿,感謝您的更新。仔細一看,雖然我仍然在使用dist/osc-browser.js時出現錯誤。 模塊名稱「slip」尚未加載上下文:_。使用require([])' 不知何故,滑動似乎不在1659行,並且require不能找到它。 我正在繼續深入研究這一點,但我想我現在要發表評論。 – Chris

+0

格式化道歉。我也沒有做到這一點,我擔心。 – Chris

+1

您還需要升級到[slip.js 1.0。2](https://github.com/colinbdclark/slip.js),它已更新爲支持AMD模塊加載器。 –