我在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.
});
答案 0 :(得分:1)
根据您提供的文档utilsScript
需要js
文件的路径。您不能只使用/Resources/js/vendors/utils.js
,因为Resources
不是公共目录。
Twig的include
意味着包含文件内容,因此您需要使用的是asset
函数:
$(".js-phone").intlTelInput({
(..)
utilsScript: "{{ asset('bundles/yourbundle/js/vendors/utils.js') }}"
});