簡體   English   中英

Symfony Assetic無法正常工作

[英]Symfony assetic doesn't work

這是我的文件,配置為使所有功能正常工作(但不是)。 我做了一個緩存清除,一個php app/console assests:intall web ,沒有什么新內容。 總是收到此錯誤消息: Cannot load resource "."

app / config.php

twig:
  paths:
    "%kernel.root_dir%/../src/Acme/TestBundle": AcmeTestBundle
assetic:
  debug:          "%kernel.debug%"
  use_controller: false
  bundles:        [AcmeTestBundle]

app / config_dev.php

assetic:
  use_controller: false

app / routing_dev.php

_assetic:
  resource: .
  type:     assetic

src / Acme / TestBundle / Resources / views / Default / index.html.twig

{% javascripts '@AcmeTestBundle/Resources/public/js/main.js'  %}
  <script src="{{ asset_url }}"></script>
{% endjavascripts %}

src / Acme / TestBundle / Resources / public / js / main.js

console.log('hello');

有誰知道我是否在配置或我的樹枝文件中缺少某些東西來使路由最終可被找到:P? 感謝大伙們。

嘗試這樣配置:

1-將您的資源放在“公共”文件夾中,該文件夾位於:

 YourBundle/Resources/config/public/css
 YourBundle/Resources/config/public/js
 YourBundle/Resources/config/public/images
 YourBundle/Resources/config/public/fonts

2-在某些項目中,我使用Yuicompressor for Assetic(Yuicompressor 2.4.7在Windows平台上運行良好)並將yuicompressor-2.4.7.jar放在:

app/Resources/java/yuicompressor-2.4.7.jar

重要提示: yuicompressors需要Java運行時環境1.7,因為它通常安裝在C:\\ Program Files(x86)\\ Java \\ jre7 \\ bin(Win64Bits)中

3-設置config.yml

...
assetic:
    debug:            "%kernel.debug%"
    use_controller:   false
    bundles:          [ ]
    java:             "C:/Program Files (x86)/Java/jre7/bin/java.exe"
    filters:
        cssrewrite: ~
        #closure:
        #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
        yui_css:
           jar:   "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
        yui_js:
           jar:   "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"
...

4-在模板樹枝中使用樣式表和javascript塊

對於您的CSS文件,您可以使用:

{% stylesheets      
    'bundles/app/css/styles.css'
    'bundles/app/css/others.css'
    filter='?yui_css, cssrewrite'
    output='css/common-stylesheets.css' %}
    <link href="{{ asset_url }}" rel="stylesheet" />
{% endstylesheets %}

對於您的javascripts文件,您可以使用:

{% javascripts           
    '@AppBundle/Resources/public/js/myApp.js'
    '@AppBundle/Resources/public/js/otherFiles.js'

    filter='?yui_js'
    output='js/common-javascripts.js' %}
    <script src="{{ asset_url }}" type="text/javascript"></script>
{% endjavascripts %}

5-運行命令Symfony

app/console cache:clear
app/console cache:clear --env=prod
app/console assets:install web
app/console assetic:dump
app/console assetic:dump --env=prod

6-檢查創建的文件

如果轉到symfony項目中的Web文件夾,則可以看到以下文件:

web/css/common-stylesheets.css
web/javascript/common-javascripts.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM