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

php - 无需查询的资产自动缓存破坏?

我找不到太多这方面的信息。

我想将所有css(和js确实)文件编译成这样的:

现在我只能得到这些:

第一个很糟糕,因为它根本没有缓存破坏。

第二个生成一个可用于缓存破坏的哈希,但由于某种原因,当我更改 .css 文件中的某些内容然后再次运行时它不会改变:

第三个也很糟糕,因为我需要手动更改版本,如下所述:http: //symfony.com/doc/current/reference/configuration/framework.html#ref-framework-assets-version。另外,我不认为为此使用查询是一个好主意(我认为某些浏览器或 CDN 可能不喜欢这样)。如果更改文件名会更好:'all-c498dsfbc.css'。如果我没记错的话,这就是它在 Rails 中的完成方式。

有什么想法吗?

编辑

好像缺少这个功能,我不敢相信:https ://github.com/kriswallsmith/assetic/pull/190

0 投票
1 回答
3904 浏览

php - 如何在 Assetic 中为 Compass 和 Yui CSS 使用过滤器?

我有 2 个文件,一个是 .css(在 vendor/somevendor/somelibrary/css/ 内),另一个是 .scss(在 @ProjectMainBundle/Resources/public/css/ 内)。

我希望使用 Sass 过滤器将 .scss 编译为 .css,然后使用 Yui 过滤器缩小两个 .css 文件。我尝试了不同的变体:

问题是 Sass 过滤器也被应用于 .css 文件,这会引发缩进错误。

在我的 config.yml 中,我添加了相应的“apply_to”参数,但没有帮助:

那么我该怎么做呢?我不想有超过 1 个结果 .css。

0 投票
2 回答
1290 浏览

security - Symfony 2 静态资产授权(防火墙后的 .js)

在防火墙后面保护静态资产(javascript 和 css)的程序是什么?我有一个大量使用 javascript 的管理部分。我真的不想向公众公开代码。

我目前使用资产将我所有的 javascript 编译到 /web/admin/js/xyz.js 中的文件

有没有一种我忽略的简单方法可以做到这一点?

0 投票
2 回答
3311 浏览

php - 安装 RVM 后无法加载 Sass / Compass,与 Symfony2 中的 Assetic 一起使用

我试图使用 Capifony,它需要 Capistrano,它需要 Ruby。但是我的 ruby​​ apt 版本很旧,并且会抛出语法错误。然后我安装了 RVM 并这样做了:

将这些路径复制并粘贴到 config.yml

在切换到 RVM 之前,关于 Compass 和 Sass 的一切都运行良好。Compass/Sass 似乎仍然可以在 app_dev.php 中工作,但是当我尝试转储资产进行生产时它们会中断:

我得到的另一个错误:

相关:@mpapis @jamz Sass 在安装 RVM 后损坏,使用 Assetic PHP

我想添加更多标签:指南针和 sass。不知道是否可以用更高的分数来完成。

更新

我添加了一个这样的包装器:

并再次编辑 config.yml ,但现在我随机交替出现这些错误:

错误一:

错误2:

指南针仍然可以通过 app_dev.php 正常工作

0 投票
3 回答
2407 浏览

javascript - 如何以最佳方式提供和加载 JavaScript 文件?

我希望在全球范围的 Web 应用程序方面有更多经验的人能够澄清我的一些问题、假设和可能的误解。

让我们假设一个站点(大量客户端/动态组件)在全球拥有数十万用户,并且从一个位置(比方说中欧)提供资源。

  1. 如果应用程序依赖于流行的 JavaScript 库,最好从 Google CDN 获取它并将其编译成一个缩小的 JS 文件(以及所有特定于应用程序的 JavaScript)还是从 Google CDN 单独加载它?
  2. Assetic VS headjs:加载单个 JS 文件或并行加载所有脚本(按依赖顺序执行)是否更有意义?

我的假设(请纠正我):

将所有特定于应用程序的/本地 JS 代码编译到一个文件中,使用 Google 等流行库的 CDN 等,但通过 headjs 并行加载所有这些似乎是最佳选择,但我不确定。服务器端将第三方 JS 和特定于应用程序的 JS 编译到一个文件中似乎几乎违背了使用 CDN 的目的,因为无论如何该库可能都为用户缓存在某个地方。

除了缓存之外,从 Google 的 CDN 下载第三方库可能比托管应用程序的中央服务器更快。

如果一个流行的 JS 库的新版本发布了,性能有了很大的提升,用应用程序进行测试然后实现:

  • 如果所有的 JS 都被编译成一个文件,那么即使应用程序代码没有改变,每个用户都必须重新下载这个文件。
  • 如果第三方脚本是从 CDN 加载的,那么用户只能从 CDN(或从某处的缓存)下载新版本。

在所描述的情况下,是否有以下任何合理的担忧?

  • 一些用户(或浏览器)一次只能与一个主机名建立一定数量的连接,因此从第三方 CDN 检索一些脚本将导致整体加载时间更快。
  • 一些用户可能在受限环境中使用应用程序,因此应用程序的域可能会被列入白名单,但 CDN 的域不会。(如果这可能是现实问题,是否有可能尝试从 CDN 加载并在出现故障时从中央服务器加载?)
0 投票
2 回答
687 浏览

javascript - Symfony2资产导致javascript错误

我有一个问题,我在那里两天无法解决它:

我有一个使用 javascripts 的带有树枝的页面,prod 并在页面上给出错误,在 dev 上没有给出错误

我尝试使用资产并给出错误

我试过从网上获取资产文件,也给出了错误

基础文件: http: //pastebin.com/Xyjg0U0L

页面错误: http: //pastebin.com/Vj73EuPk

dev.itenho.com.br/

dev.itenho.com.br/app_dev.php

我在ubuntu meld中比较了html和css的两个版本并且是相同的

0 投票
3 回答
1321 浏览

php - 如何将资产版本添加到 css 和 js?

我希望assetic将压缩的js和css输出到这样的东西: v2.3.1/css/whatever.css

目前,这就是我转储我的 css 和 js 以进行生产的方式:$ php app/console assetic:dump --env=prod --no-debug. 但是他们被转储到 css/ 和 js/ 中,没有版本。

我读过这个,但它似乎只指图像,而不是 css/js。

这样做的一个重要原因是缓存破坏/无效。

0 投票
2 回答
2912 浏览

symfony - Symfony 2.0 资产转储在调试模式下产生错误的名称

我正在通过资产(在一个目录中的所有脚本的树枝中阻止)压缩我的 javascript,这在 prod 模式下工作正常。现在我想为我的 prod 环境使用调试模式,所以我在配置中切换资产以调试,清除缓存并转储资产并启用调试。

这适用于一些 javascripts 但不是全部。Symfony 为它们添加了一个后缀编号,该后缀编号在网站(javascript 标记)上比真实文件高(一个)。有时清除缓存并再次转储可以解决问题,但这次没有。

例如:它转储:/web/js/main_part_3_jquery-ui_6.js 但使用:/web/js/main_part_3_jquery-ui_1.js

那么我该如何解决呢?

编辑:清除缓存后,错误的后缀不会出现在对站点的第一个请求中。

0 投票
1 回答
148 浏览

symfony - Symfony2 + Assetic:可以将编译后的 javascript 转储到布局中吗?

我正在开发一个简单的网站。我想为我的javascript 使用coffeescript,所以我使用Assetic 来编译它。

如何将已编译的 javascript 资产转储到网页本身而不是添加到外部文件的链接?这是一个移动应用程序,所以我想将网络流量保持在最低限度

0 投票
1 回答
404 浏览

arrays - 样式表数组?

来自Symfony

有一个例子:

我怎么能实现一个变量?还是数组?

我知道,没有官方的方法。

我可以使用一个Twig Extension吗?还是其他的??

谁有我的例子??

先感谢您!