Symfony 2:带有资产的javascript文件中的图像路径 [英] Symfony 2:image paths in javascript file with assetic

查看:146
本文介绍了Symfony 2:带有资产的javascript文件中的图像路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用以下资产从我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆