2017-06-15 12 views
0

に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 

マスターにプッシュする前に、これらのアセットをプリコンパイルする必要があるのはなぜですか?このプロセスをデフォルトプロセスの一部にするにはどうすればよいですか?

+0

rails webpacker:installを実行している解決方法はありますか? – cavneb

+0

私はまだその理由を見出していません。私はちょうど手動で資産をプリコンパイルし続けました。 @cavneb –

答えて

1

私たちは、あなたがこの原因を見つけることができました、これはwebpacker宝石をインストールし、

+1

おかげであなたはダ・マン –