繁体   English   中英

Symfony2包含javascript文件

[英]Symfony2 include javascript file

我是symfony的新手,有一个困扰我几分钟的问题:我想在我的项目中包含一个JS文件,但它似乎不起作用(浏览器中没有任何反应,就像没有包含javascript一样) )。我从控制台安装了资产,现在,css,图像和JS文件存储在web / bundles目录中。 在我看来,我写道:

{% javascripts %}
<script src = "http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="{{ asset('bundles\emagmagazine\js\javascript.js') }}"></script>
{% endjavascripts %}  

我究竟做错了什么?

我在模板中这样做:

{% javascripts "@asset_name_1" "@asset_name_2" %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

asset_name_X是资产配置中资产的名称。

您运行以下命令: php app/console assets:install web ???

编辑:检查器或萤火虫检查是否已加载.js文件

如下更改您的javascript

{% block javascripts %}
    {% javascripts 
        'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js', 
        '@emagmagazine/Resources/public/js/*' 
     %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

那是处理它们的正确方法。

您忘记使用正确的块了。
而且,通过这种方式,Assetic将处理(下载并提供)您在此处调用的外部js

只需尝试分隔脚本类型:

<script type="text/javascript" src="{{ asset('assets/plugins/jquery/jquery.min.js') }}"></script>

或将路径添加到base.html.twig(如果您使用的是规范),然后在树枝中调用它:

{% block javascripts %}
{{ parent() }}
{% endblock %}

如此处所写: http : //symfony.com/doc/current/cookbook/assetic/asset_management.html#include-javascript-files

您只需包括以下文件:

{% block javascripts %}
    {% javascripts '@EmagmagazineBundle/Resources/public/js/*' %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}
{% endblock %}

对于CDN文件,您可以做的最好是通常包含以下内容:

<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>

如果您在{% javascripts %}插入CDN,则可以使用,但您失去了CDN的作用,那就是在其他网站上拥有一个公共库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM