Every Rails developer knows that loading assets can be really time-consuming. Here are some useful tips on how to speed it up.
Do not bundle everything into one large file. Use CDN for tools like CKeditor and require it only on those pages where it is needed.
I18n-js keeps translations in a separate file. Configure only the required languages. Otherwise, the translation file may inflate very fast along with every new library. If you configure only the required languages, you'll avoid large compiled files, which means faster compilation and page load.
Do not userequirerequire_treeandrequire_selfin your SASS/SCSS files. They are very primitive and do not work well with Sass files. Instead, use Sass's native@importdirective, which sass-rails has customised to integrate with the conventions of your Rails projects. https://github.com/rails/sass-rails#important-note
In your SASS/SCSS files use@importdirective carefully. Avoid importing all the package assets as@import 'compass';when you can only do@import 'compass/css3/flexbox'.
Avoid using therequire_tree .directive in your JS/COFFEE manifests. Let's imagine a scenario in which your app has an admin panel with separate assets:
Rails 5.1 introduced some other ways of managing assets. I highly recommend you use Yarn with Webpack, it's worth it, believe me! What you can gain is the management of asset dependencies, more efficient compilation process, hot-reloading of your code without page refresh, ES6 support, PostCSS, and many more!