我在Symfony项目中使用intl tel输入插件。我们目前将Assets合并,以便将所有js脚本文件加载到一个文件中。
然而,intl-tel输入插件需要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.
});
根据您提供的文档,utilsScript
需要js
文件的路径。不能只使用/Resources/js/vendors/utils.js
,因为Resources
不是公共目录。
Twig的include
用于INCLUDE文件内容,因此您需要使用asset
函数:
$(".js-phone").intlTelInput({
(..)
utilsScript: "{{ asset('bundles/yourbundle/js/vendors/utils.js') }}"
});