にnode_modulesを追加した後、私はレール私はアプリケーションのルートにこのプロジェクトにNPMを追加しましたスプロケットはangular.jsも、資産パス
5.0.3を使用しています見つけることができません。私はその後、私は私のapplication.jsにそうようなマニフェストファイルを角度含めました設定/初期化子/ assets.rb
Rails.application.config.assets.paths << Rails.root.join('node_modules')
に次の行を追加したアセットパイプラインにnode_modulesをロードするために
require_directory angular
require_tree angular
require angular/angular.js
require angular
のTh::私のようなバリエーションの数を試した
//= require angular/angular.js
//= require app.js
//= require_tree ./ng/constants
//= require_tree ./ng/services
//= require_tree ./ng/controllers
ローカルで動作しているが、私はHerokuのためにプッシュするとき、それは言う:
Sprockets::FileNotFound: couldn't find file 'angular/angular.js' with type 'application/javascript'
...... [lists all the asset paths Sprockets has searched including node_modules]
/tmp/build_93a7b2eb7cc158c5d30b242da36b56ac/node_modules
アプリケーションが開発中でローカルに実行だときよりも、生産のためにHerokuので資産をロードされたときに起こるものがあるようですが、何がありますそれ?
私も、これは生産のためHerokuの中で動作する方法は、最初に実行している設定/初期化子/ assets.rb
Rails.application.config.assets.precompile += %w(application.js)
からこの行を含めることで、私のマニフェストファイルのすべてをプリコンパイルしようとしました:
rake assets:precompile
マスターにプッシュする前に、これらのアセットをプリコンパイルする必要があるのはなぜですか?このプロセスをデフォルトプロセスの一部にするにはどうすればよいですか?
rails webpacker:install
を実行している解決方法はありますか? – cavneb私はまだその理由を見出していません。私はちょうど手動で資産をプリコンパイルし続けました。 @cavneb –