问题标签 [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.
windows - 更少的 Windows Node.js 挂起
我一直在尝试在 Windows 上设置 Symfony2,这样我就可以用更少的资源使用资产。
我已经为 Windows (0.6.8) 安装了 node.js。然后我跑了npm install less --global
,发现少了C:\Users\Matt\AppData\Roaming\npm\node_modules
至于我的 Symfony 设置,我有 master 分支Assetic
(由于我在 1.0.2 中读到的一个错误),但标准 v1.0.1AsseticBundle
经过一些工作,我能够通过以下方式获得一个更少的文件示例: http://localhost/app_dev.php/css/compiled-main_part_1_boilerplate_1.css
然后我切换了一个 .less 文件,它 @imports 其他 .less 文件(在同一个子目录中)。每当我尝试访问本地服务器上的那个页面时(使用这种较少的配置),它就会挂起,我可以看到一个命令进程和一个 node.exe 进程都在运行。
该命令正在尝试在我的临时目录中存在的 node.js 中运行脚本。我可以在命令提示符下通过 node.js 运行该文件,但我无法使用 Symfony/Assetic 加载它。
无论如何在 Windows 上使用 node.js、less 和资产?
这是我的相关配置文件部分:
开发配置覆盖:
在参数.ini 中:
twig - 资产、图像资产和缓存
我正在努力将Assetic集成到我正在构建的应用程序中。该应用程序遵循 MVC 模式,但不使用任何框架。Twig用于模板。
该应用程序的结构如下:
- 应用
- 树枝模板
- js
- css
- public_html
- js
- css
- 图片
树枝模板被渲染然后由应用程序返回,所以这很简单。文件夹下的andjs
文件夹将保存原始的 javascript 和 css 文件。css
application
我的计划是将组合和缩小的 js 和 css 文件存储在public_html 文件夹下的js
and文件夹中。css
由于我不打算使用assetic优化任何图像,它们将直接放在images
下面的文件夹中public_html
。
现在的问题:
我知道通过使用树枝中的资产,可以将组合和缩小的资产导出到我的 public_html 目录:
在这种情况下,
css/all.css
每次呈现模板时都会重新生成文件吗?为了使应用程序可移植(它可以使用虚拟主机托管,或者甚至可以在文件夹中托管)并确保事情在具有路由 URL 之类的站点中工作
http://site.com/controller/action
,assetic 是否提供无论如何将图像的 URL “重写”为绝对 URL(即images/a.jpg
进入http://mysite.com/images/a.jpg
)?使用嵌套模板时资产是否有效?
parent.twig:
child.twig:
在这种情况下,我怎样才能让资产知道它应该合并
childstyle.css
并将mainstyle.css
其作为 1 个文件提供?
symfony - 在 symfony2+Assetic 项目中如何在没有 Node.js 的情况下使用 LESS
不要误会我的意思。我知道我们lessc
在 php 中甚至有其他编译器(我说的是lessphp)和其他编译器。
但!你知道,我真的很喜欢less.js 的工作方式。
我的意思是说...
- 指向你的less文件
- 指向 javascript
- 工作
当你完成
- 从浏览器获取
localStorage
版本 - 将其放入 CSS 文件中。
你有没有想过一种方法来做类似的事情?
twig - Assetic 不生成任何文件
我将 Assetic 与 Twig 一起使用,但不是 symfony2 框架。
这是项目的设置方式
原始 css 存储在下面/site/template/css
,我希望资产缩小 css 并将其输出到/public_html/css
.
这是将资产设置为树枝扩展的方式
然后在我的模板中:
我可以看到assetic在最终输出中生成了一个唯一的url:
但是,如果我查看/public_html/css
,文件永远不会生成!
我正在使用带有 apache 的 Windows 7 服务器,PHP 在任何地方写入文件都没有问题。
这可能是什么原因造成的?
symfony - Twig 中的 Symfony2 资产动态图像包含
我想为使用 Twig 和 Assetic 的文章加载特定的缩略图。这是不起作用的代码:
在配置和参数中:
在树枝文件中:
所以基本上我有图像存储在 /Resources/public/images/article_thumbs/{ID}/{FILE.ext}
我想为 Twig 中的特定文章获取这些内容。我怎样才能做到这一点?
编辑: 为什么我不把它们放在 web 文件夹中?
我想我曾经考虑过使用 Assetic 过滤器,但我想真的没有必要。
我现在将它们存储在 web 文件夹中。
因此,如果我制作thumbnail_dir="/images/article_thumbs"
并将其放在网络目录中,我只是{{ asset( thumbnail_dir ~ '/' ~ id ~ '/' ~ article.thumbnailFile ) }}
在树枝中说吗?
css - Assetic 的 cssrewrite 和子文件夹
我在 Web 应用程序中使用 Assetic 和 Twig。我没有使用 symfony2 框架。
项目结构如下所示
应用程序
- 风格
- 图片
万维网
- css
- 图片
我在我的一个模板中使用 Assetic 样式表标签有这个标记:
目前,该应用程序托管在http://localhost/myapp/中,可以通过http://localhost/myapp/www访问它
我编写了一个转储条,它编译我的资产并将它们转储到www
.
在我的 CSS 中,我使用绝对路径(有效)引用我的图像:
如果我使用相对路径(使用 cssrewrite 过滤器),则不会重写 URL:
我想直接使用我的 URL images/b.png
,然后让资产转储程序确定完整路径。
我启用了 cssrewrite 过滤器,但它似乎没有做任何事情。如何在我的 CSS 中提供相对路径并让 cssrewrite 将其重写为绝对路径?
symfony - Symfony2 - 从自定义表单字段类型小部件内部加载带有资产的 JS 文件
所以我需要一个自定义表单字段类型,并且在定义字段代码的块中我需要加载一些带有资产的 JS。
我遇到的问题是 Assetic 生成的资源路径错误并导致 404:
它应该是这样的:
有办法解决这个问题吗?
symfony - 在 Symfony2 中为 Assetic 配置输出目录
我想全局配置资产转储我的 JS 文件的输出目录。目前,他们总是去web/js/*
。我想将其更改为web/js/compiled/*
.
可以在每个文件级别指定它: http: //symfony.com/doc/2.0/cookbook/assetic/asset_management.html#dumping-asset-files
似乎找不到在我的 Symfony 应用程序中全局设置它的方法。我缺少任何配置参数吗?
更新
找到一个名为write_to
. 设置它config.yml
会导致命令行将assetic:dump
文件转储到新目录,但在 twig 文件中asset_url
var 仍然指向原始路径。
php - YUICompressor 错误:RuntimeException:文件名、目录名或卷标语法不正确
我试图在我的开发服务器(windows 7)上的 Symfony 2.0.10 上使用带有资产的 YUICompressor,我收到此错误:
RuntimeException: The filename, directory name, or volume label syntax is incorrect.
问题是什么?
我目前的配置如下:
在资产下的 app/config.yml 中。
在我的树枝模板中。
没有其他设置,没有其他任何修改,我一直在关注这篇文章:http ://symfony.com/doc/2.0/cookbook/assetic/asset_management.html
YUICompressor 版本为 2.4.7
PS:Assetic 在没有过滤器的情况下工作得很好,我也试过java -jar yuicompressor.jar ./script.js -o ./test.js
了。
javascript - Symfony 2 - 资产 JavaScript 压缩导致错误
我正在尝试将 Symfony 2 应用程序置于生产模式。除了压缩的单个 JavaScript 文件会导致错误并使网站无法正确呈现之外,一切都运行良好。我通过浏览器上的调试控制台找到了这个:
未捕获类型错误:未定义不是函数
未捕获类型错误:对象 [对象对象] 没有方法“树视图”
第一个错误是指 jQuery 插件 Treeview 指的是 jQuery 的插件,它呈现树状目录结构。
另一方面,它在开发模式下运行良好,因为它不进行压缩,它只是一个一个地包含每个文件。有人可以帮我解决这个问题吗?