1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

React-Bootstrapに挑戦する

Last updated at Posted at 2015-07-25

突然の難関

簡単に行くかと思いきやいきなりつまずく。

とりあえずいままでの構成

  • dest
    • アプリのhtml (手書きw)
    • アプリのjs (自動変換)
  • src
    • アプリのjsx
  • node_modules
    • react
    • react-tools
    • react-bootstrap (new!)
  • bootstrap (new!)

destディレクトリにhtmlがあるのがアホっぽいが実験なので勘弁してくれ。

htmlのjavascriptタグで

<script src="../node_modules/react/dist/react.min.js"></script>

とやって読み込み、

jsx --watch --harmony src/ dest/

とやって変換してブラウザでドン!

動いたー

である。

が、同様の方法で

<script src="../node_modules/react-bootstrap/dist/react-bootstrap.min.js"></script>

とやるとjsxがお怒りになられる。あいつ(jsx)はコンポーネントクラスの中身を気にする存在だったのか……と。お前(jsx)中身知らなくても変換できるだろ……と。

jsxからreactは見えてreact-bootstrapは見えないってのも罠感ある。

ちなみにjsxも$PATHにreact-tools/binを入れてるから動いてるところある。微妙w

なんとなくnpmでグローバル領域にガンガンjs置いていくことに抵抗があるのだがこの感覚こそ最大の敵かも分からん。アンインストールの仕方よく分かってないし……

作戦1 JSXTransformerを使う。

たぶんいちばんシンプル。

ガンガン書いてたES6の構文がどうなるか気になるがたぶん平気だろう。

パフォーマンスはきっと落ちるが、そもそも実験だしどうでもいい?

作戦2 諸々をnpm -gオプションで入れなおす

入れなおせばたぶん見れるようになるだろ。jsxにパス通さんでもよくなるし。

作戦3 jsを合成するヤバイジツを使う

ほいでgulpかなんか入れて諸々コミコミのデカイjsを一気にビルドする。

まぁ環境はクリーンだろうけど、労多くして功少なしか。

結局gulpをグローバルに入れそうだし。

というわけで作戦2で行く決断を下した……

結論

コンパイル?出来た。しかし問題はそんなことではなかった。

元々Reactで作っていたコードに、

<button hogehoge>fugafuga</button>

というのがあり、これを

<Button hogehoge>fugafuga</button>

と、閉じタグをBootstrapコンポーネントに変換していなかったためにコンパイルエラーが出ていたのだ!

ヤバイ!

そしてこの経験は恐らく他の人の役に立たない!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?