首页 文章

Symfony2:如何在另一个js中包含一个js文件?

提问于
浏览
0

我在Symfony项目中使用intl-tel-input插件 . 我们目前正在组合Assets以便将所有js脚本文件加载到一个中 .

但是intl-tel-input插件需要utils.js才能启用格式化/验证等,它需要包含在脚本中,如下所示:

utilsScript: "/Resources/js/vendors/utils.js"

但是,如果我使用它,我会收到404错误(找不到文件utils.js) .

如何在脚本上加载该文件?

这是我完整的脚本:

$(".js-phone").intlTelInput({
    autoFormat: false,
    autoHideDialCode: false,
    autoPlaceholder: true,
    defaultCountry: "auto",
    geoIpLookup: function(callback) {
      $.get('http://ipinfo.io', function() {}, "jsonp").always(function(resp) {
        var countryCode = (resp && resp.country) ? resp.country : "";
        callback(countryCode);
      });2
    },
    nationalMode: false,
    utilsScript: "{{ include('/Resources/js/vendors/utils.js') }}" // utils.js enables formatting/validation etc. 
});

1 回答

  • 1

    根据您提供的文档 utilsScript 需要 js 文件的路径 . 您不能只使用 /Resources/js/vendors/utils.js ,因为 Resources 不是公共目录 .

    Twig的 include 意味着 INCLUDE 文件内容,所以你需要使用的是 asset 函数:

    $(".js-phone").intlTelInput({
        (..)
        utilsScript: "{{ asset('bundles/yourbundle/js/vendors/utils.js') }}" 
    });
    

相关问题