问题标签 [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.
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
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。
security - Symfony 2 静态资产授权(防火墙后的 .js)
在防火墙后面保护静态资产(javascript 和 css)的程序是什么?我有一个大量使用 javascript 的管理部分。我真的不想向公众公开代码。
我目前使用资产将我所有的 javascript 编译到 /web/admin/js/xyz.js 中的文件
有没有一种我忽略的简单方法可以做到这一点?
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 正常工作
javascript - 如何以最佳方式提供和加载 JavaScript 文件?
我希望在全球范围的 Web 应用程序方面有更多经验的人能够澄清我的一些问题、假设和可能的误解。
让我们假设一个站点(大量客户端/动态组件)在全球拥有数十万用户,并且从一个位置(比方说中欧)提供资源。
- 如果应用程序依赖于流行的 JavaScript 库,最好从 Google CDN 获取它并将其编译成一个缩小的 JS 文件(以及所有特定于应用程序的 JavaScript)还是从 Google CDN 单独加载它?
- Assetic VS headjs:加载单个 JS 文件或并行加载所有脚本(按依赖顺序执行)是否更有意义?
我的假设(请纠正我):
将所有特定于应用程序的/本地 JS 代码编译到一个文件中,使用 Google 等流行库的 CDN 等,但通过 headjs 并行加载所有这些似乎是最佳选择,但我不确定。服务器端将第三方 JS 和特定于应用程序的 JS 编译到一个文件中似乎几乎违背了使用 CDN 的目的,因为无论如何该库可能都为用户缓存在某个地方。
除了缓存之外,从 Google 的 CDN 下载第三方库可能比托管应用程序的中央服务器更快。
如果一个流行的 JS 库的新版本发布了,性能有了很大的提升,用应用程序进行测试然后实现:
- 如果所有的 JS 都被编译成一个文件,那么即使应用程序代码没有改变,每个用户都必须重新下载这个文件。
- 如果第三方脚本是从 CDN 加载的,那么用户只能从 CDN(或从某处的缓存)下载新版本。
在所描述的情况下,是否有以下任何合理的担忧?
- 一些用户(或浏览器)一次只能与一个主机名建立一定数量的连接,因此从第三方 CDN 检索一些脚本将导致整体加载时间更快。
- 一些用户可能在受限环境中使用应用程序,因此应用程序的域可能会被列入白名单,但 CDN 的域不会。(如果这可能是现实问题,是否有可能尝试从 CDN 加载并在出现故障时从中央服务器加载?)
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的两个版本并且是相同的
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。
这样做的一个重要原因是缓存破坏/无效。
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
那么我该如何解决呢?
编辑:清除缓存后,错误的后缀不会出现在对站点的第一个请求中。
symfony - Symfony2 + Assetic:可以将编译后的 javascript 转储到布局中吗?
我正在开发一个简单的网站。我想为我的javascript 使用coffeescript,所以我使用Assetic 来编译它。
如何将已编译的 javascript 资产转储到网页本身而不是添加到外部文件的链接?这是一个移动应用程序,所以我想将网络流量保持在最低限度