What is the purpose of config.assets.precompile?

让人想犯罪 __ 提交于 2019-11-28 08:56:48
Simon Peck

Most assets are automatically included in asset precompilation. According to the RoR Guide on the Asset Pipeline:

The default matcher for compiling files includes application.js, application.css and all files that do not end in js or css: [ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]

You would use config.assets.precompile if you have additional assets to include:

config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']

Or you could overwrite it.

I think it has to do with the pipeline/sprockets ability to require separate files.

For example, I have an admin.js file in my app/assets/javascripts folder. But all it does is require several other .js files.

//= require jquery
//= require jquery_ujs
//= require jquery.colorpicker.js
//= require jquery.wysiwyg.js
//= require wysiwyg.image.js
//= require jquery.fileupload.js
//= require jquery.fileupload-ui.js
//= require codemirror.js
//= require css.js
//= require admin_load

This is because (a) I'm using external js plugins and (b) I like to keep things like jQuery onload handlers in separate files.

If every .js file was precompiled, then it would precompile each one of these individual files–which is totally unnecessary. All I want/need is the single admin.js file precompiled.

Same goes for CSS files.

The assets precompile to me is cool so you dont end up deploying assets that you do not want. Dont also forget about the uglifer gem that helps compress your javascripts. Imaging all this are not existing and you just deploy your app and you find out that you have unused css files and uncompressed javascripts. how would you feel. this is just my own opinion and i say the asset pipeline is the coolest thing in rails.. Being able to manage all your assets properly.

And mind you if i am rails i would not want to compile assets that you would not want so you would say in your mind why did this guy compile these assets.. :)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!