magento(或带有require js)中的libphonenumber-js返回未定义

时间:2019-05-20 10:41:25

标签: javascript magento requirejs libphonenumber

问题:

在不需要js的情况下,这种方法可以很好地工作:

https://jsfiddle.net/3xL745fu/

<script src="https://unpkg.com/libphonenumber-js@1.7.18/bundle/libphonenumber-min.js">

</script>

<script>
  alert(new libphonenumber.AsYouType('US').input('213-373-4253'))
</script>

但带有require js:

https://jsfiddle.net/vwu84jap/

<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script src="https://unpkg.com/libphonenumber-js@1.7.18/bundle/libphonenumber-min.js">

</script>

<script>
  alert(new libphonenumber.AsYouType('US').input('213-373-4253'))
</script>

libphonenumber是否未定义?

1 个答案:

答案 0 :(得分:1)

解决方案是通过require js加载js:

<script src="https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.7.18/libphonenumber-js.min.js">

</script>

<script>

   require([
       'libphonenumber'
   ], function (libphonenumber) {
       'use strict';

       console.log("libhphone number working");

       window.alert(new libphonenumber.AsYouType('US').input('213-373-4253'))

   });

</script>

https://jsfiddle.net/94jftb0e/