问题标签 [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.
symfony - 使用 Assetic 有条件地加载资源
是否可以使用 Assetic 有条件地加载资产?
例如(peusocode):
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 可以正常工作。
php - Symfony2 Assetic CSS 重写在 url(data:image...) 上中断
我遇到了 Assetic 的 CSS 重写问题。在使 URL 正确的意义上,它工作得很好,但是,它也会data:image
像这样破坏 URL:
进入:
有解决方法或解决方法吗?
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 中调用的新块pagescripts
,layout.html.twig
然后在 my 中使用该块,create.html.twig
但这具有相同的结果,它似乎只是在我使用的任何地方转储脚本和样式表
symfony - AsseticBundle / CompassFilter:当模板无法编译时,有什么方法可以抛出异常?
我想知道是否有人可以结合 Symfony 2 的dev
环境帮助我进行一些 AsseticBundle 配置。
每次在dev
环境中加载页面时,Assetic 都会重新编译任何资产,在我的例子中,我使用CompassFilter
.
我的问题是,当我有一个格式错误的 Sass 文件时,我的页面只是在没有任何生成的样式表的情况下加载 - 相反,我希望 Assetic 向我显示 Compass/Sass 编译器输出,就好像发生了异常一样(即我得到 Symfony2“oops”屏幕) .
有谁知道是否有配置可以实现这一目标?
我目前config.yml
是:
仅覆盖config_dev.yml
一行以:
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));
你知道为什么吗?
谢谢!
symfony - 如何在 Controller 中获取资产的完整 url?
我需要在控制器中生成一些 JSON 内容,并且需要获取位于此处的上传图像的完整 URL /web/uploads/myimage.jpg
:。
我怎样才能得到它的完整网址?
http://www.mywebsite.com/uploads/myimage.jpg
php - 如何使 Symfony 2 资产编译以产生不同的文件名?
我遵循了本文最底部的指南:http: //symfony.com/doc/current/cookbook/assetic/asset_management.html
我有这个代码:
现在,如果我运行sf assetic:dump --env=prod
它会正确创建编译文件。但是,我想让它生成一个随机名称(或时间戳),以避免客户端浏览器缓存问题。现在它总是创建dist.js
被缓存的文件,当我更新我的代码时,用户不会看到差异(或得到错误)。
有没有办法让它像dist12345678.js
?
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?但我真的很难从我的树枝模板中获得正确的包含语法。以下实现似乎不起作用:
我感谢每一个关于我的关注的帖子。
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。