タイトルの通りなんですが、具体的には、
0. React+Material-ui(v0.15.2)をBrowserifyでimport等を処理し、一つのファイルにしていたが、コンパイルが遅い
- 開発時はFacebookからDevelopmentのReact(CDN?)を使って、わざわざ毎回コンパイルしないようにしたい
- TypeScriptで書くことにして、gulp-typescriptで
module: "amd"
を設定して出力 - RequireJSでReactは読み込めるが、Material-uiは当然ながらコンパイル前だとimportとか使っててAMDでは読めないし、RequireJSはappとかしてしてもapp/index.jsは探してくれない
というわけで、コンパイルの時間短縮のために(特にReactのコンパイルを毎回されると非効率的な感じしかしない)開発時はBrowserifyを使わないようにしたいのですが、Material-uiのようなNode.jsでコンパイルすることが前提で(公式のexampleがnpmとwebpackだけだったので勝手な推測ですが)、どうやったら一緒にできるか…と悩んでいるわけです。
一応色々試してみたのですが、
module: "es2015"
を指定してimportを使って、babelとかのCDNでブラウザ向けにコンバートしてもらおう!→reactがimportできない(ソースも見てみたが、commonjsモジュールなので無理そう。cjs-to-es6も使ってみたが、成功しない)
jsxtransformerのCDNを使おう!→importできない。
transform-es2015-modules-amdを使ってAMDに統一しよう!→index.jsを解決できないせいでパスが通らないし、無理やり通すと、今度は相対パスで呼び出しているファイル先が、「.js」がない形にとらえられエラーになる(例:AppBar/index.jsのrequire("./AppBar")が、.jsではなくそのものを探そうとする。不思議)し、そもそもBabelのissueなのかどうかわからないけど、「Peroperty right なんちゃら」っていうエラーで止まっていしまう…
と言った具合です。
タイトルにはAMDにしたいとありますが、
Material-UIを使えるようにするか、
BrowserifyでReactを毎回コンパイルするのをどうにかするか、
Browserifyの時間のかかるコンパイルをどうにか(早く・軽量に?)
できればいいと思っています。
どなたかご助力願います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/25 14:01