2015-02-23 63 views
0

有一個名爲formsy-react的包,它看起來像是使用CommonJS導入的(請參閱代碼:https://github.com/christianalfoni/formsy-react/blob/master/release/formsy-react.js),但我無法使其與RequireJS一起使用。如何使用RequireJS導入此React包?

具體來說,我嘗試

require(['formsy-react.js'], function (Formsy) { console.log(Formsy) }); 

,但沒有定義Formsy。我是RequireJS的新手,所以我不確定這裏要做什麼。有沒有什麼最佳實踐來完成這項工作?

回答

2

說到React,除非要使用require.js,強烈建議使用commonjs方法,通過browserify或webpack來啓動和運行代碼。

如果你絕對必須使用require.js,你可以在https://github.com/christianalfoni/formsy-react/blob/master/build/formsy-react.js附近編寫一個require包裝器,但它會很笨重。

+0

爲什麼強烈建議使用commonjs? – 2015-02-24 14:44:22

+0

Primariy是因爲React由React團隊和網站使用commonjs語法「教導」的,當前最好的打包者是Browserify(幾乎是「節點域中的打包者」)和Webpack(更新,但被React所倡導和使用和Flux團隊)。關於爲什麼在做一份工作的時候會使用它們而不是require.js的原因,Browserify的出現主要是爲了解決Require.js中的缺陷,它確實做得很好,而Webpack的誕生是爲了解決捆綁在內部的問題一個更大的自動化任務集。 – 2015-02-24 17:18:45