问题标签 [assetic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2739 浏览

symfony - 在调试模式下串联的资产资产集合

我正在尝试在 Symfony 2 项目中使用 Assetic。我的 config.yml 中有以下设置:

(如果您想知道,这些设置不会在 config_dev.yml 文件中被覆盖。)

这些集合由 Assetic 拾取并为它们创建路由。每个文件都有单独的路径,带有数字和不带文件扩展名的文件名。例如,对于“base.css”文件,下载文件(应用过滤器)的路径是“/assetic/all_css_part_1_base_1”。

然后,我将资产集合包含在我的 Twig 模板中,如下所示:

(对于“all_js”集合也是如此,但我将使用 css 端来演示我的问题。)

当 Twig 呈现我的模板时,它不使用为单个文件创建的路由,而是将“all_css”集合的“asset_url”显示为“/css/9118a5a_part_1.css”。

我正在使用开发前端控制器并测试了 Assetic 认为它处于调试模式。(不应用仅生产过滤器。)尽管文档另有说明,但文件仍在连接中。

由于行号不匹配,因此很难追踪这些文件中的问题,尤其是对于 JavaScript 错误。为了让 Twig 单独显示文件,我还需要做些什么吗?

0 投票
2 回答
8478 浏览

symfony - Symfony2:如何在包之间共享 js 库和 css

我有不同的捆绑包:MainBundle(主页)、SecurityBundle(登录、注册)、MessageBundle(消息系统)、ShopBundle。

我还遵循三阶段布局架构(::base.html.twig、AcmeMainBundle::layout.html.twig、AcmeMainBundle:Default:index.html.twig)。

但是我在通过应用程序(例如 jquery)共享公共 js 库和定义 base.css(设置一些基类、背景、字体等)时遇到问题

那么在不失去资产支持的情况下使用共享 css 和 js 的最佳方法是什么?

一个想法是创建一个包含所有全局 js 和 css 以及一些布局文件的 CommonBundle,但我认为这不是处理这个问题的最佳方法......

0 投票
1 回答
3602 浏览

symfony - Symfony2 全球/站点范围的资产

我正在使用assetic 在 Symfony2 应用程序中管理我的资产。我想知道我应该将我的全球或网站范围的资产放在哪里。他们应该进入 /web 文件夹还是 /app/Resources 文件夹?

这是我目前做事的方式,但我不确定这是否是最佳做法。我搜索了高低的建议。

0 投票
6 回答
26175 浏览

caching - 使用 symfony2 clear cache 命令不刷新静态资产

我正在使用带有罗盘过滤器的 Assetic 来传递和编译 .scss 文件。这部分设置似乎工作正常。然而,我的理解是,在 app_dev 环境中,Symfony 2 将为每个页面加载重新编译所有资产(包括 css),而不使用它用于 prod 环境的缓存系统。

这似乎没有发生。

当我对 .scss 文件进行更改时,它只有在我使用时才会生效:

我认为开发环境的重点是避免每次都这样做?!

我已经检查了缓存文件夹的权限(为了安全起见,我已经设置它们以便任何人都可以读写)。有人有什么建议吗?

0 投票
2 回答
125 浏览

css - 在页面完全加载之前元素出现在错误的位置

我页面中的元素首先出现在随机位置,然后在页面完全加载后移动到正确的位置。这一点都不优雅。我希望他们直接出现在正确的地方。我猜这是因为页面中的元素是在我的 css 之前加载的?

我在 Symfony2 项目中使用较少和资产,我该如何处理它以便元素直接出现在正确的位置?

以下是我处理我的 CSS 资产的方式:

0 投票
2 回答
536 浏览

symfony - Assetic / Coffee 脚本错误:致命错误:调用未定义的方法 Assetic\Filter\CoffeeScriptFilter::setBare() i

我刚刚将 Symfony 更新到最新版本(2.0.16),我在编译时遇到了一个奇怪的 Assetic / CoffeeScript 错误。

Fatal error: Call to undefined method Assetic\Filter\CoffeeScriptFilter::setBare() in/app/cache/dev/appDevDebugProjectContainer.php on line 119

该行包含以下内容: $instance->setBare(NULL);

我已经尝试手动清除缓存,但问题仍然存在。有任何想法吗?

编辑:我的配置文件中的路径绝对正确:

编辑2:

2.0.15 deps 和 deps.lock 中的版本工作正常,2.0.16 中的版本没有。

0 投票
9 回答
15679 浏览

symfony - Assetic - 路线“_assetic_001d5b7_0”不存在

这个问题似乎已经被问过多次,但没有一个解决方案对我有用。

我在我的产品环境中,这是我所做的:

  • 在做任何事情之前/之后清除缓存
  • 尝试注释掉 config_dev 中的 _assetic 东西并确保它不在其他任何地方(这在 prod env 中并不重要)
  • 将 use_controller 设置为 true 和 false (显然适用于 true 但不使用编译后的文件)

还有什么我想念的吗?php app/console assetic:dump --env=prod --no-debug 从文件名匹配错误中的文件名减去路径内容,文件生成完全正常 。

0 投票
1 回答
303 浏览

windows-7 - Symfony2 Assetic 文件和 Windows 中缺少的路由

我有一台 Linux 机器和一台 Windows 7 机器,它们都使用完全相同的代码(它们都使用相同的 git repo)。我在开发环境的两台服务器上运行 Symfony2 代码。

该网站在 Linux 服务器上加载并运行得非常好。在 Windows 7 服务器(我的本地笔记本电脑)上,服务器似乎缺少正确呈现站点所需的所有路由。例如:

  1. 网站上没有加载任何 CSS 和 JS 文件。他们抛出 404 page not found 错误。
  2. 如果我尝试从主页或登录页面导航到任何其他页面,总是会抛出 404 错误:在服务器上找不到请求的 URL。

我已经清除了缓存,并在 windows 框上运行了 app/check.php,但无济于事。我想知道是否需要以某种方式修改 Windows 服务器设置以使路由按预期工作?我认为问题在于 Windows 服务器上的路由,因为无法找到请求的 URL。

关于我可以去哪里找到解决方案或我可以执行任何测试来追踪问题的任何想法?谢谢, 井架

0 投票
1 回答
2254 浏览

symfony - 在 Symfony 应用程序中放置资产的位置以及如何在开发环境中工作

我目前正在玩资产和symfony。我使用压缩和重写,我决定将我的资产(主要是 javascript 文件和 css 文件)放在包中,因为这似乎是最佳实践(不胜感激)

在开发环境中,这适用于一些配置,但我不知道如何生成已编译的资产。

我希望能够直接在src/domain_name/bundle_name/Resources/public/cssor中修改我的资产src/domain_name/bundle_name/Resources/public/javascript,并且可以在开发环境中立即检查这些修改。

我使用 command php app/console assetic:dump --watch,但它似乎只检查了web/bundle/目录中生成的文件。

所以我需要继续运行命令php app/console assets:install web来复制资产。

事实上,这似乎是资产不能使用捆绑符号的问题的结果(请参阅此处 kriss wallsmith 的最后评论)。如果我能够使用该捆绑符号,我猜 watch 命令将能够自动升级 web 目录中的资产,但不确定这一点。

我如何在树枝模板中引用资产

知道如何在开发环境中处理资产时更高效吗?我们要等待资产中的捆绑符号功能吗?

0 投票
1 回答
2464 浏览

symfony - 使用带有 twitter 引导程序和资产的图标

我已配置资产并使用以下配置

在我的树枝文件中,我有以下内容可以完美地打印出 css 文件。

这是我的 app/Resources/public/global.less 文件

问题是我无法使用 Twitter Bootstrap 图标,因为它们是 404。我的图像目前存在于app/Resources/public/img/我已经尝试了一切让这些工作,并尝试了每一个资产命令。

我需要这里提到的 cssembed?我当然希望我不必运行 Java 来实现这一点。