Я использую Assetic для включения файлов Javascript, но при использовании в среде dev, /app_dev.php
добавляется в начало URL, поэтому окончательный URL выглядит как /app_dev.php/js/something.js
. Это приводит к 404 при попытке загрузить JS. Когда я захожу на сайт из производственной среды, URL не включают /app_dev.php
, и все работает нормально.
Я мог бы добавить условие, которое проверяет, является ли это среда разработки, и вызвать str_replace
в URL, но я бы хотел решить корень этой проблемы, если это возможно.
Редактировать
@ gilden, я бы понял, что в dev они будут обрабатываться каждый раз, но URL просто приводят к 404.
Вот мой конфиг конфиг:
assetic:
debug: %kernel.debug%
use_controller: false
filters:
cssrewrite: ~
# closure:
# jar: %kernel.root_dir%/java/compiler.jar
# yui_css:
# jar: %kernel.root_dir%/java/yuicompressor-2.4.2.jar
А вот как я использую его в своем шаблоне (app / Resources / views / base.html.php)
foreach ($view['assetic']->javascripts(
array('@AssetsBundle/Resources/public/js/*'), array(), array('output' => 'js/combined.js')) as $url) {
echo 'url: ' . $url . '<br />';
}
Затем я включаю $ url с помощью написанного мной пользовательского помощника, но на тот момент он уже содержал app_dev.php.