問題タブ [grunt-browserify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Grunt-Browserify 拡張機能フラグが機能しない
Grunt-browserify と reactify を使用して、jsx で記述された React コンポーネントを解析およびバンドルしようとしています。モジュールのファイル拡張子名を指定する必要がないように拡張子フラグを使用したいのですが、これを機能させることができませんでした。ここにいくつかのテストコードがあります:
Gruntfile:
メインアプリファイルapp.jsx
:
そしてTest.jsx
:
を実行してこれをコンパイルしようとするとgrunt
、エラーが発生します。
エラー: モジュール './components/Test' が '/Users/****/Sites/grunt-test/src' から見つかりません
Grunt-browserifyのドキュメントには、v1.2.6 から拡張機能フラグをサポートしていると書かれており、ウェブ全体でこの例を見てきましたが、ここで機能させることはできないようです。コマンド ラインから browserify を実行すると、そのようbrowserify -t reactify --extension=.jsx -o dest/app.js
に機能します。
何か案は?
gruntjs - Browserify、さまざまなbrowserifyビルドでさまざまなライブラリをシムします
browserify + grunt を使用して、アプリのクライアント側バージョンとサーバー側バージョンの 2 つの個別の JS 出力を生成しています。例えば。
gruntfile.js
すべてがうまく機能し、2 つの個別のファイルを取得します。
ここで、クライアント側アプリで browserify-shim を使用して、CDN からいくつかの共通ライブラリを参照したいと考えています。
例えば。
問題は、これがクライアントとサーバーの両方のバージョンでそれをシムすることです。サーバーでは、このようなものはグローバルに存在しません。
この shim を (サーバーではなく) クライアントだけに適用したい
私が試してみました
しかし、ファイルごとに個別のシムのセットを使用するようにbrowserifyに指示する方法がわかりません。
javascript - React JSX + Titaniumifier
現在のインフラストラクチャは、ネイティブで Titanium に依存しています。https://www.npmjs.com/package/grunt-titaniumifierを使用してノード プロジェクトを CommonJS に変換しようとしています。ただし、JSX では失敗します。
Browserify は次のように変換を使用するため、正常に動作します。
チタン化剤については、次のものがあります。
ただし、実行中のgrunt titaniumifier:module
リターン
致命的なエラー: ファイル /Users/rduckworth/Projects/titanium-d3/app/App.js を解析中: 予期しないトークン (23:6)
上記のJSXコードです。
とにかく、BrowserifyのようにTitaniumifierにJSXをコンパイルさせることはできますか?