gpt4 book ai didi

css - prod env 中的 Assetic 坏 css 文件链接

转载 作者:行者123 更新时间:2023-12-02 21:43:19 26 4
gpt4 key购买 nike

我正在尝试在生产环境上下文中测试我的应用程序。问题是 Assetic 无法正常工作。

没有加载css文件和js文件。

这是我做的:

  • 我被设置为:$kernel = new AppKernel('prod', true);
  • 我执行了命令:

    php 应用程序/控制台缓存:clear --env=prod --no-debugphp 应用程序/控制台 assetic:dump --env=prod --no-debug

到目前为止,没有问题,我的文件已经创建:

01:07:26 [file+] /var/www/visual-immersion/app/../web/js/b0c2086.js
01:07:26 [file+] /var/www/visual-immersion/app/../web/js/a49caf1.js
01:07:26 [file+] /var/www/visual-immersion/app/../web/css/a580ac9.css

但是当我启动我的网页时,没有 css,没有 js。如果我检查我的源代码页,我可以看到:

                <link rel="stylesheet" type="text/css"href="/css/a580ac9_part_1_home_1.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_layout_2.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_style_3.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_font_4.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_responsive_5.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_animations_6.css">

<link rel="stylesheet" type="text/css" href="/css/a580ac9_personalized-responsive_7.css">

就好像我在开发环境中一样!

所以我也在开发环境中清理了我的缓存,并重新启动了我的进程以生产环境......没有成功。

你知道问题是什么吗?

我添加我的 config.yml :

imports:
- { resource: parameters.yml }
- { resource: security.yml }

framework:
#esi: ~
#translator: { fallback: %locale% }
secret: %secret%
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: ~
form: ~
csrf_protection: ~
validation: { enable_annotations: true }
templating:
engines: ['twig']
#assets_version: SomeVersionScheme
default_locale: "%locale%"
trusted_proxies: ~
session: ~
fragments: ~

# Twig Configuration
twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%

# Assetic Configuration
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [VisualImmersionAdminBundle, VisualImmersionSiteBundle]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: %kernel.root_dir%/Resources/java/compiler.jar
#yui_css:
# jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar

# Doctrine Configuration
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: %kernel.root_dir%/data/data.db3
# path: %database_path%

orm:
auto_generate_proxy_classes: %kernel.debug%
auto_mapping: true

# Swiftmailer Configuration
swiftmailer:
transport: gmail
username: contact@visual-immersion.com
password: mypassword

编辑:

我用 assets: install 重试了这个过程,但没有成功。

编辑 2:

在我的网络浏览器开发工具中,如果我添加以下行:

<link rel="stylesheet" type="text/css" href="/css/a580ac9.css">

这是工作。我真的认为 Assetic 将文件加载为开发环境而不是生产环境。有什么想法吗?

编辑 3:

我添加了布局或托管的 css 文件,如果它可以帮助...

{% stylesheets '@VisualImmersionSiteBundle/Resources/public/css/*'  filter='cssrewrite'
'css/stylesheets/layout.css'
'css/stylesheets/style.css'
'css/stylesheets/font.css'
'css/stylesheets/responsive.css'
'css/stylesheets/animations.css'
'css/stylesheets/personalized-responsive.css'
%}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}">

{% endstylesheets %}

编辑 4:

我试着像这样改变我的样式表过滤器:

{% stylesheets filter='cssrewrite'
'css/stylesheets/*'
'bundles/visualimmersionsite/css/*'
%}

但没有成功。

最佳答案

尝试使用:

php app/console assets:install web --symlink

这样,您将拥有一个符号链接(symbolic link),而不是拥有每个捆绑资源的副本,因此无需更新。

来自文档:

When using the cssrewrite filter, don't refer to your CSS files using the @AcmeFooBundle syntax.

试试这个方法:

{% stylesheets 'bundles/acme_foo/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

关于css - prod env 中的 Assetic 坏 css 文件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com