Symfony 2:带有资产的javascript文件中的图像路径 [英] Symfony 2:image paths in javascript file with assetic
问题描述
我正在尝试使用以下资产从我的symfony2项目中的js文件创建一个图像的路径:
I'm trying to make a path to an image from a js file in my symfony2 project using asset like this:
var arr = $('<img src="{{ asset("assets/images/linkArrow.png")}}">').css({
position: 'absolute',
...
});
但我遇到以下错误
"NetworkError: 404 Not Found - mywebsite.com/bundles/web/app_dev.php/project/1/assets
/images/linkArrow.png"
我的图片位于网络/资产档案下。
my image is under the web/assets file.
推荐答案
您不能在JavaScript文件中使用twig语法。如果您可以将脚本放在模板文件中,那么它就可以了。另一种干净的方法是为你的javascript定义一个资产基础路径变量。例如,要解决您的问题,您可以在布局模板中添加以下代码:
You cannot use twig syntax in your JavaScript file. If you can put your script in your template file it would work then. another clean way would be define a assets base path variable for your javascript. For example, to solve your problem you can add following code in your layout template:
<script>
var assetsBaseDir = "{{ asset('assets/') }}"
</script>
注意:如果要引用,请确保在加载javascript文件之前定义此脚本变量直接在您的js文件中
然后您可以在所有JavaScript文件中使用它像:
then you can use it in all your JavaScript files Like:
var arr = $('<img src="' + assetsBaseDir + 'images/linkArrow.png'+ '">').css({
position: 'absolute',
...
});
快乐编码!
这篇关于Symfony 2:带有资产的javascript文件中的图像路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!