public function JsOptimizer::optimize
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\AssetCode
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; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Asset!JsOptimizer.php/function/JsOptimizer::optimize/8.1.x