text/babel とかで script タグを跨いで変数などを参照する

text/babel とかで script タグを跨いで変数などを参照する

2017.07.06

babel に限らず、"use strict"; 下なら全部なのか?わからないけど、script タグが変わると変数スコープが別になる。React の各コンポーネントを別ファイルにしようとして動かなくて焦った。class とかも参照出来なくなる。対処法としては、window のプロパティにするしかないみたい。

この記事だと global に var で書けば window のプロパティになるって書いてあったけど、今はもうならないみたい。

サーバサイドだと import, export で上手く出来そうなんだけど、クライアントサイドだとその辺はまだ未対応なので、取り敢えずこのやり方しかないのかなー。
まぁ、そもそもクライアントサイドだけで React ゴリゴリ使うなよ、と我ながら思う。

※動かない例を先に書くとそこで止まるので、先に動く例を書きます。

以下動く例

以下動かない例