- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/web/webpacker/resource/asset.php
- Класс: BitrixMainWebWebPackerResourceAsset
- Вызов: Asset::getContent
public function getContent()
{
if ($this->content)
{
return $this->content;
}
if (!static::isExists($this->path))
{
return null;
}
$path = self::getAbsolutePath($this->path);
$mapPath = null;
$useMinimized = false;
$minPathPos = mb_strrpos($path, '.');
if ($minPathPos !== false)
{
$minPath = mb_substr($path, 0, $minPathPos)
.'.min'
.mb_substr($path, $minPathPos);
if (IOFile::isFileExists($minPath))
{
$path = $minPath;
$useMinimized = true;
$minPathPos = mb_strrpos($this->path, '.');
$mapPath = mb_substr($this->path, 0, $minPathPos)
.'.map'
.mb_substr($this->path, $minPathPos);
}
}
$content = IOFile::getFileContents($path) ?: '';
if (!$content || !$useMinimized || !$mapPath)
{
return $content;
}
$parts = explode("n", $content);
$mapUri = '//# sourceMappingURL=';
if (mb_strpos(array_pop($parts), $mapUri) !== 0)
{
return $content;
}
$mapUri .= WebPackerBuilder::getDefaultSiteUri() . $mapPath;
array_push($parts, $mapUri);
return implode("n", $parts);
}