(Quick Reference) # 8.2.5 Static Resources Version: 3.2.7 ## 8.2.5 Static Resources Grails 3 integrates with the Asset Pipeline plugin to provide sophisticated static asset management. This plugin is installed by default in new Grails applications. The basic way to include a link to a static asset in your application is to use the resource tag. This simple approach creates a URI pointing to the file. However modern applications with dependencies on multiple JavaScript and CSS libraries and frameworks (as well as dependencies on multiple Grails plugins) require something more powerful. The issues that the Asset-Pipeline plugin tackles are: Reduced Dependence - The plugin has compression, minification, and cache-digests built in. Easy Debugging - Makes for easy debugging by keeping files separate in development mode. Asset Bundling using require directives. Web application performance tuning is difficult. The need for a standard way to expose static assets in plugins and applications. The need for extensible processing to make languages like LESS or Coffee first class citizens. The asset-pipeline allows you to define your javascript or css requirements right at the top of the file and they get compiled on War creation. Take a look at the documentation for the asset-pipeline to get started. If you do not want to use the Asset-Pipeline plugin, you can serve the static assets from directories `src/main/resources/public` or `src/main/webapp`, but the latter one only gets included in WAR packaging but not in JAR packaging.
| Static resources located in `src/main/resources/public` or `src/main/webapp` are resolved under the `/static/**` URI by default. You can change the URI pattern with the following configuration:
grails-app/conf/application.yml
    grails.resources.pattern: /**
| Quick Reference (hide)