问题标签 [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 回答
1558 浏览

symfony - 使用 Assetic 有条件地加载资源

是否可以使用 Assetic 有条件地加载资产?

例如(peusocode):

0 投票
0 回答
438 浏览

node.js - 从 php (Symfony2 Assetic) 解析 lesscss 时出现 node.js 错误

我刚刚在 Centos5 上使用 NPM 设置了 lesscss,并在 Symfony2 php 应用程序中使用它。

如果我在命令行上运行

然后它解析得很好,我在控制台中得到正确解析的输出。

但是在 Symfony2 应用程序中作为 Assetic 包中的过滤器,css 文件只是一个 500 错误。

查看日志会产生以下错误:

我相当确定 Symfony2 元素设置正常,因为项目,包括lesscss 的配置,是 git repo 的一部分,它检查并在其他地方正常工作,没有错误。

编辑 /

附加信息 - 我刚刚安装了节点,所以它是最新版本。

编辑 /

在命令行上运行 less 可以正常工作,并且通过 web 浏览器在 php 脚本中的 shell_exec() 中运行 less 可以正常工作。

0 投票
1 回答
757 浏览

php - Symfony2 Assetic CSS 重写在 url(data:image...) 上中断

我遇到了 Assetic 的 CSS 重写问题。在使 URL 正确的意义上,它工作得很好,但是,它也会data:image像这样破坏 URL:

进入:

有解决方法或解决方法吗?

0 投票
2 回答
15165 浏览

symfony - Symfony2 Assetic + Twig 模板 JavaScript 继承

我的问题:

我有 3 个模板:

  • main.html.twig(主布局文件)
  • layout.html.twig(一个特定于捆绑包的布局覆盖,其中包含一些特定于捆绑包的 JS 标记)
  • create.html.twig(一个特定于页面的模板文件,其中还包含一些特定于页面的 JS 标记)

我在我的基本布局 () 中定义了一个名为“javascript”的块,main.html.twig然后覆盖它(但{{ parent() }}layout.html.twig.layout.html.twig

然后我在文件中做同样的事情create.html.twig,覆盖块如下:

此时,它不只是覆盖父 ( layout.html.twig) 中的 javascript 块并包括其上方模板中定义的所有脚本,而是执行以下操作:

  • 在输出中间转储<script>标签(这会导致错误,因为在我的main.html.twig文件中,我只在 HTML 标记的末尾包含了 jQuery 库
  • 然后它还会将脚本与其他脚本一起转储(正如我所期望的那样)

我不确定是什么导致脚本被转储在create.html.twig模板中间,我也很困惑为什么它们被转储到屏幕两次(一次在创建中间,然后一次在底部以及来自main.html.twig和的所有其他脚本layout.html.twig

有没有人有任何想法?如果有任何不清楚的地方或者我是否可以提供更多信息,请告诉我。

编辑:

文件内容如下...

main.html.twig:https ://gist.github.com/7f29353eaca0947528ce

layout.html.twig:https ://gist.github.com/734947e9118b7765715e

create.html.twig:https ://gist.github.com/c60c8d5c61e00ff86912

编辑2:

今天早上我一直在重新审视这个问题,它看起来好像对样式表做同样的事情。我试图定义一个在 my 中调用的新块pagescriptslayout.html.twig然后在 my 中使用该块,create.html.twig但这具有相同的结果,它似乎只是在我使用的任何地方转储脚本和样式表

0 投票
1 回答
462 浏览

symfony - AsseticBundle / CompassFilter:当模板无法编译时,有什么方法可以抛出异常?

我想知道是否有人可以结合 Symfony 2 的dev环境帮助我进行一些 AsseticBundle 配置。

每次在dev环境中加载页面时,Assetic 都会重新编译任何资产,在我的例子中,我使用CompassFilter.

我的问题是,当我有一个格式错误的 Sass 文件时,我的页面只是在没有任何生成的样式表的情况下加载 - 相反,我希望 Assetic 向我显示 Compass/Sass 编译器输出,就好像发生了异常一样(即我得到 Symfony2“oops”屏幕) .

有谁知道是否有配置可以实现这一目标?

我目前config.yml是:

仅覆盖config_dev.yml一行以:

0 投票
1 回答
1157 浏览

php - Twigjs 和动态翻译

我遇到了一个问题,我在 Symfony2 twigjs 和assetic 中使用动态渲染我的一些模板。

我已经阅读了文档、源代码和测试。

TransFilterCompilerTest.php/testCompileDynamicTranslations它看来,一个

{{ 'foo' | trans }}在我的树枝模板中

将在 twigjs 模板中替换为

'this.env_.filter("trans",'...在我的 twigjs 一个

在我编译的js中我只有sb.append(twig.filter.escape(this.env_, "posted", "html", null, true));

你知道为什么吗?

谢谢!

0 投票
15 回答
104748 浏览

symfony - 如何在 Controller 中获取资产的完整 url?

我需要在控制器中生成一些 JSON 内容,并且需要获取位于此处的上传图像的完整 URL /web/uploads/myimage.jpg:。

我怎样才能得到它的完整网址?

http://www.mywebsite.com/uploads/myimage.jpg

0 投票
3 回答
7908 浏览

php - 如何使 Symfony 2 资产编译以产生不同的文件名?

我遵循了本文最底部的指南:http: //symfony.com/doc/current/cookbook/assetic/asset_management.html

我有这个代码:

现在,如果我运行sf assetic:dump --env=prod它会正确创建编译文件。但是,我想让它生成一个随机名称(或时间戳),以避免客户端浏览器缓存问题。现在它总是创建dist.js被缓存的文件,当我更新我的代码时,用户不会看到差异(或得到错误)。

有没有办法让它像dist12345678.js

0 投票
1 回答
6115 浏览

php - 使用 Silex/SilexExtensions 和 Assetic 在 Twig 中动态 CSS/Javascript

我想做的事:从数据库中获取 CSS 属性并将其转储到一个 less 文件中。然后在其上应用 less/yui 压缩过滤器并将输出转储到我的树枝模板中。


让我马上进入正题:

我有一个使用 Silex 和 Twig 作为模板引擎的 PHP Web 应用程序。为了处理和缩小 css/js 文件,我尝试使用 Assetic 和 Silex-Twig/Assetic-Extensions。

我已经注册了 silex 扩展并设置了我想要使用的过滤器。现在我对如何在我的树枝模板中转储文件一无所知。谷歌搜索让我一无所知。由于 lessfile 中的属性可以根据请求更改,我认为无法静态传递文件。

这是我对 silex 扩展的实现:

由于 CSS 文件是通过较少的过滤器处理的(变量值应该来自数据库),我需要保存/缓存输出文件。我想我需要的是一个 LazyAssetManager 和一个将 output.css 写入缓存目录的 AssetWriter?但我真的很难从我的树枝模板中获得正确的包含语法。以下实现似乎不起作用:

我感谢每一个关于我的关注的帖子。

0 投票
1 回答
720 浏览

php - 使用 Assetic PHP 安装 RVM 后 Sass 损坏

我正在尝试设置 Assetic PHP 资产编译器,并且我已经让它与 CoffeeScript、Stylus 和 Less 一起工作(所有 NPM 包都运行良好)。但是,对于 Sass,我遇到了问题。以下是我到目前为止采取的步骤:

  • 我安装了 RVM 和 Ruby 1.9.3 并运行gem install sass
  • 我跑了which sass。这返回了 /home/jon/.rvm/gems/ruby-1.9.3-p0/bin/sass
  • 我将该位置复制到 Assetic 中的 SassFilter.php 中,它在构造函数中显示$sassPath = '' 。这与我做咖啡等的方式相同。

现在,当我从主编译器文件中解析 PHP 时,我收到以下消息:

我正在使用 Ubuntu 11.10、PHP 5.3.6、RVM 1.10.2 和 Ruby 1.9.3。我的外壳是 ZSH。