問題タブ [browserify-rails]
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 - Browserify と browserify-rails を使用してスプロケットで前処理されたファイルを要求する
私はbrowserify-railsを使用しており、sprockets ディレクティブを含むファイルを前処理するようにスプロケットを取得しようとしています。これにより、 require()
browserify を使用すると、生成された JavaScript が含まれます。
sprockets ディレクティブは、クライアント側から Rails ルートにアクセスできるようにするために、gem js-routesの出力を含めようとします。
これは私のセットアップです(内app/assets/javascripts
):
application.js
はメイン ファイルであり、アプリケーションの残りの部分を実行します。次のようなことができるようになりたいです
その中で、ルート オブジェクトへのアクセスを取得します。
内system/react_routes.js
には、次のものがあります。
(余談ですが、 railsware/js-routes#121で説明されているように、CommonJS モデルに準拠するためにjs-routes
、出力を というオブジェクトに配置するように構成しました)module.exports
唯一の問題は、生成されたバンドルを見ると、sprockets ディレクティブがまだそこにあり、展開されていないことです。
console.log
呼び出しもそこにあり、モジュールを実行すると実行されますrequire()
。
これを機能させる方法はありますか?browserify-railsでファイルをバンドルする前に、スプロケットにファイルを前処理させる正しい方法は何ですか?
ruby-on-rails - Rails、React、Browserify、react-rails gem - モジュールが見つかりません
私はこの素晴らしいチュートリアルに従っています: setup-up-react-in-ruby-on-rails-part-1
次のエラーが表示されます: エラー: xxx からモジュール xxx が見つかりません
test-component.es6.js
component.js
このようにセットアップすると動作しますが、TestTwo コンポーネントはプリレンダリングされません (私は prerender:true を使用します)
重要な編集
このセットアップコンテンツでのサーバー編集後、事前にレンダリングされますが、ブラウザでデータが変更されるたびにサーバーを再起動する必要がありますが、ソースビューを開くと古いデータは新しくありません!?.
test-component.es6.js
component.js
TestTwo コンポーネントは単にテキストを返すだけです。
text.html.erbは両方のセットアップで同じです
Win7 64 ビット OS
ruby-on-rails - browserify-rails で es6 ファイルをトランスパイルするにはどうすればよいですか?
browserify-rails
Rails 4.2で新しいプロジェクトを作成しました。私package.json
はこのように見えます:
すべて正常にインストールされますが、非常に単純な es6 ファイルをロードしようとすると、次のようになります。
ファイルの内容は上記とまったく同じですが、これは有効な ES5 ではないため、期待したものではありません。
これを実際にトランスパイルするにはどうすればよいですか?
ruby-on-rails - Uncaught ReferenceError: AngularJS、Rails 4、および Browserify を使用して require が定義されていません
私は AngularJS と Rails を使用しており、http: //start.jcolemorrison.com/setting-up-an-angularjs-and-rails-4-1-project/ と他のいくつかのチュートリアルに従って、非常に単純な「Hello World」を取得しています。私のデスクトップで実行中の例。問題は、それをサーバーにデプロイすると、Angular に基づくコードが機能しなくなることです。代わりにUncaught ReferenceError: require is not defined
、コンソールにエラーが表示されます。
私の問題の一部は、ブラウザーが 'require' 関数呼び出しをどう処理するかを認識していないことにあることに気付きました。ただし、期待どおりにサーバー上で動作せず、同じエラーが発生します。
ライブ サイトへのリンク:リンク
これが私のapplication.html.erb
(簡略化された)です:
index.html.erb
:
home.html.erb
(コンテナ内でレンダリング):
home.js
:
app.js
:
application.js
javascript - スプロケット //=require と browserify-rails require() の違いは?
スプロケットあり:
... in application.js<script src=...>
は、HTML の先頭にタグを追加しているようです。ただし、次の場合browserify-rails
:
<script>
のタグが表示されませんmymodule
。ただし、内部で定義されたコードを使用できますmymodule
。ここでbrowserifyは何をしていますか?
ruby-on-rails - --noparse を browserify レールで使用する
Rails アプリケーションでbrowserify-rails gemを使用しています。更新時に変更をロードするのに 10 秒かかるため、開発中にパフォーマンスの問題に直面しています。このスレッドを調べたところ、次のことがわかりました。
browserify は noparse オプションをサポートします -- 構成
さらに提案されているように:
vendor/bundle のすべてに対して noparse を実行できませんでした。
これは完全に理にかなっています。ただし、これを行う方法の例はなく、これが私が問題を抱えている場所です。次の行を my に追加してみましたconfig/application.rb
:
このエラーが発生しました:
キャッチされないエラー: BrowserifyRails::BrowserifyError: 実行中にエラーが発生しました
/home/shivam/git/app/node_modules/.bin/browserifyinc --noparse="jquery-1.11.3.min.js" --cachefile=\"/home/shivam/git/app/tmp/cache/browserify-rails/browserifyinc-cache.json\" -o "/home/shivam/git/app/tmp/cache/browserify-rails/output20151109-8114-8rk552" -
:
ES6 はまったく初めてなので、このエラーの意味がわかりません。--noparse
オプションを正しく使用しているかどうかさえわかりません。誰かが私に例を教えてもらえますか?
ruby-on-rails - Railsはbrowserify TypeErrorに反応します:オブジェクト関数にはメソッド「extend」がありません
rails、react、browserifyを使ってWebアプリを作ろうとしています。私はこのチュートリアルに従ってきました。サーバー側のレンダリングが必要なので、このリポジトリを出発点として使用し、README ファイルに記載されているチュートリアルに従いました。
上記の記事が示唆するように私はやったと思いますが、次のエラーを解決する方法がわかりません:
TypeError: Object function ( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
} has no method 'extend'
エラーを再現したい場合は、オープンソースであり、github にある私のレポauth
を複製し、機能ブランチに移動し、gems と npm パッケージをインストールして、サーバーを持ち上げます。
$ cd path_to_project
$ git checkout -b feature/auth
$ bundle
$ npm install
$ bundle exec rails server
私は現在ここで立ち往生しているので、本当に助けていただければ幸いです。また、私は反応するのが初めてなので、どこで問題を探すべきかほとんどわかりません。
編集: コメントのリクエストにより、質問を読みやすくするためにスタックトレースを削除しました。追加情報が必要な場合は、お知らせください。
javascript - gem browserify-rails を使用すると、ファイルの変更が反映されない
Rails で CommonJS モジュールを使用して JavaScript を開発したいと考えています。また、スプロケットの恩恵を受けたいです。それを解決する browserify-rails gem を見つけました。試してみると、うまく機能しているようです。モジュールを使用できました。しかし、いくつかのファイルを変更してブラウザを更新すると、それらが反映されません。それを解決するアイデアはありますか?
package.json の使用は以下のとおりです。
ruby-on-rails - githubブランチを使用して変更されたノードモジュールを使用するには?
アプリケーションでrc-sliderコンポーネントを使用していて、ニーズを満たすために 1 つの機能を追加する必要がありました。
メイン リポジトリをフォークし、変更をこのブランチにプッシュしました。
アプリケーションでは、package.json
次のように変更し、npm install を再度実行しました。
何も変わっていません。npm は依存関係を更新していないようです。
node_modules
そのため、Rails キャッシュ フォルダーを削除し、インストール コマンドを再度実行しました。
今、私はこのエラーがあります:
rc-slider
変更されたブランチを使用すると、NPM が を見つけられません。
- NPM は
package.json
ファイルを変更するだけで依存関係を更新しませんか? - ビルド コマンドを実行してブランチ コードをインストールする必要がありますか?
ruby-on-rails - babelify + browserify-rails + 反応、Uncaught SyntaxError: Unexpected token import
私は browserify-rails + babelifyを使用して、react + rails プロジェクトで jsx をトランスパイルしています。
jsxトランスパイルが機能するために(reactのマウントポイントである)// require('');
が必要な理由に非常に困惑しています。components.js
コメント行を削除する // require('');
と、「SyntaxError: Unexpected token import」が表示されます
現在、コメント行がトランスパイルに影響を与える理由について、私には手がかりがありません。これがreact、babelify、browserify、browserify-rails、またはrailsアセットパイプラインの問題なのかについても困惑しています。
完全なコード ベースについては、 https://github.com/sidazhou/react_rails_skeleton/tree/v0.0.1を参照してください。
components.js
パッケージ.json
アプリケーション.rb