我试图使用以下资源从我的symfony2项目中的js文件创建一个图像路径:
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"
我的图片位于网络/资源文件下。
答案 0 :(得分:10)
您不能在JavaScript文件中使用twig语法。如果您可以将脚本放在模板文件中,那么它就可以了。另一种干净的方法是为你的javascript定义资产基本路径变量。例如,要解决您的问题,您可以在布局模板中添加以下代码:
<script>
var assetsBaseDir = "{{ asset('assets/') }}"
</script>
注意:如果您直接在js文件中引用变量,请确保在加载javascript文件之前定义此脚本
然后您可以在所有JavaScript文件中使用它,例如:
var arr = $('<img src="' + assetsBaseDir + 'images/linkArrow.png'+ '">').css({
position: 'absolute',
...
});
快乐的编码!