私はbrowserify-railsを使用しており、sprockets ディレクティブを含むファイルを前処理するようにスプロケットを取得しようとしています。これにより、 require()
browserify を使用すると、生成された JavaScript が含まれます。
sprockets ディレクティブは、クライアント側から Rails ルートにアクセスできるようにするために、gem js-routesの出力を含めようとします。
これは私のセットアップです(内app/assets/javascripts
):
system/
rails_routes.js
application.js
application.js
はメイン ファイルであり、アプリケーションの残りの部分を実行します。次のようなことができるようになりたいです
var rr = require("./system/rails_routes.js");
その中で、ルート オブジェクトへのアクセスを取得します。
内system/react_routes.js
には、次のものがあります。
//= require js-routes
console.log("Does this work?");
(余談ですが、 railsware/js-routes#121で説明されているように、CommonJS モデルに準拠するためにjs-routes
、出力を というオブジェクトに配置するように構成しました)module.exports
唯一の問題は、生成されたバンドルを見ると、sprockets ディレクティブがまだそこにあり、展開されていないことです。
console.log
呼び出しもそこにあり、モジュールを実行すると実行されますrequire()
。
これを機能させる方法はありますか?browserify-railsでファイルをバンドルする前に、スプロケットにファイルを前処理させる正しい方法は何ですか?