public JsOptimizer::optimize(array $js_asset)
Optimizes an asset.
Parameters
array $asset: An asset.
Return value
string The optimized asset's contents.
Overrides AssetOptimizerInterface::optimize
File
- core/lib/Drupal/Core/Asset/JsOptimizer.php, line 15
Class
- JsOptimizer
- Optimizes a JavaScript asset.
Namespace
Drupal\Core\Asset
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public function optimize( array $js_asset ) { if ( $js_asset [ 'type' ] !== 'file' ) { throw new \Exception( 'Only file JavaScript assets can be optimized.' ); } if (! $js_asset [ 'preprocess' ]) { throw new \Exception( 'Only file JavaScript assets with preprocessing enabled can be optimized.' ); } // If a BOM is found, convert the file to UTF-8, then use substr() to // remove the BOM from the result. $data = file_get_contents ( $js_asset [ 'data' ]); if ( $encoding = (Unicode::encodingFromBOM( $data ))) { $data = Unicode:: substr (Unicode::convertToUtf8( $data , $encoding ), 1); } // If no BOM is found, check for the charset attribute. elseif (isset( $js_asset [ 'attributes' ][ 'charset' ])) { $data = Unicode::convertToUtf8( $data , $js_asset [ 'attributes' ][ 'charset' ]); } // No-op optimizer: no optimizations are applied to JavaScript assets. return $data ; } |
Please login to continue.