我正在尝试使autoNumeric jQuery插件适用于USD输入格式,但是在最新版的Linux上的Chrome浏览器中,该文件在第5450行上引发了“未捕获的SyntaxError:意外的令牌导出”。

我在jQuery之后这样调用它:

  <!-- jQuery 3.2.1 from CDN -->
  <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
  <!-- autoNumeric for USD formatting -->
  <script src="js/autoNumeric.js" type=text/javascript></script>


所以我猜想它一定是文件中的错误?它指出该插件与网站上的jQuery 1.7.2或更高版本兼容,所以我不确定这里的问题。有人遇到过这样的事情吗?

最佳答案

之所以失败,是因为您尝试使用以ES6编写的非编译版本的AutoNumeric(作为模块),而浏览器本身仍不支持该版本(它们都不了解import / export语句)。

因此,为了在浏览器中使用AutoNumeric(即https://github.com/autoNumeric/autoNumeric/tree/next#in-the-browser),您需要导入在dist/文件夹(即dist/autoNumeric.min.js)中找到的编译版本,或者仅使用CDN。

注意1:为了能够使用最新的Web技术,AutoNumeric使用babel + webpack将模块编译为一个单独的“在Web页面中可正常工作”文件。

注意2:AutoNumeric放弃jQuery依赖已有几个月了,请尝试一下! ;)

08-25 09:39