1

私はいくつかの React コンポーネントを定義する「ブラウザ化された」ライブラリを持っています。これは HTML ページ (Rails アプリから提供されます) からロードし、Rails によってページ内に配置されたデータによって供給される React コンポーネントをインスタンス化します。

(全体像は次のとおりです。TurboLinksアプリがあり、より多くの反応性が必要な非常に特定の部分にいくつかのReactコンポーネントを使用したい.Rails
ページは、Reactランタイムと必要なアプリケーションコンポーネントライブラリの両方をロードし、最小限の生を生成します必要に応じて React コンポーネントをインスタンス化するための JS)

私が見つけたのは、外部ライブラリ変数を自分のライブラリに公開する方法だけでしたが、自分の変数をグローバル ブラウザー スコープに公開したいと思います。

window.Stuff = Stuff;ソースファイルから直接クラスをかなり醜い方法( )でエクスポートすることになりまし.jsxたが、このコードは臭いがするように感じます...

そのようなことを達成するためのより良い方法に関する提案はありますか?

4

1 に答える 1

2

次のように、browserify バンドルでモジュールを公開します。

browserify()
  .require('./whatever', {expose: 'whatever'})

次に、Rails ページ JS から:

require('whatever');

または:

次のようなスタンドアロンの browserify バンドルを作成します。

browserify('./entry', {standalone: 'something'})

entry.js

module.exports = {
  whatever: require('./whatever')
};

次に、Rails ページ JS から:

window.something.whatever;
于 2015-09-01T14:29:21.277 に答える