2016-04-07 18 views
1

Ich benutze den Webpack-Dev-Server, um meine Assets in der lokalen Entwicklung bereitzustellen. Ich habe folgende in meinem paramters.yml.distSymfony Asset-Komponente "" ist keine gültige URL

# local assets devserver address 
# if you want to use webpack dev server use "http://localhost:8090" 
# and then > npm run devserver 
assets_base_url: ~ 

ich folgende haben für die lokale Umgebung in Rahmen.

framework: 
    assets: 
     base_urls: ["%assets_base_url%"] 

Mein Problem ist, dass es nicht mit Grundeinstellungen von „~“ für meine Kollegen arbeitet, die nicht devserver verwenden.

Error: "" is not a valid URL 

Was soll ich Sie tun können, aktivieren oder devserver Vermögenswerte url durch eine Einstellung in parameters.yml

Symfony docs for asset component

Antwort

1

von setzen Stattdessen base_urls: ["%assets_base_url%"] deaktivieren, tun, dass in der Erweiterung der Klasse Ihres Bündels.

namespace Acme\HelloBundle\DependencyInjection; 

use Symfony\Component\HttpKernel\DependencyInjection\Extension; 
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface; 
use Symfony\Component\DependencyInjection\ContainerBuilder; 

class AcmeHelloExtension extends Extension implements PrependExtensionInterface 
{ 
    // ... 

    public function prepend(ContainerBuilder $container) 
    { 
     $assetBaseUrl = $container->getParameter('assets_base_url'); 
     if (!$assetBaseUrl) { 
      $container->prependExtensionConfig(
       'framework', 
       array(
        'assets' => array(
         'base_urls' => array($assetBaseUrl) 
        ) 
       ) 
      ); 
     } 
    } 
} 

Innerhalb des PrependExtensionInterface::prepend() Methode können Sie die Einstellungen über config.yml wird vorangestellt Konfiguration.

+0

Wie es funktioniert, wenn ich diese Einstellung global verwenden möchte und ich mehr als 20 Firmenbündel im Projekt habe. –

+0

Sie benötigen ein 21 ° -Bündel, wo Sie das tun können (nennen Sie es "CoreBundle" oder was auch immer), und das andere Bundle muss nun eine Abhängigkeit zu diesem neuen Bundle haben. – Federkun

+0

Ich werde diese Lösung zeigen, oder ich werde alle Kollegen zwingen, es manuell zu setzen, um Url zu korrigieren. Erstellen Sie Abhängigkeiten wie diese. –