错误数据表不是Electron中的函数

时间:2018-07-30 01:52:27

标签: jquery datatables electron

我是Electron的新手,目前正在玩electronic-api-demos。我正在尝试使用插件Datatables.net(根据我的搜索,我不是第一个挣扎的人!),两个软件包都已安装为依赖项(我可以在package.json中看到它们)

我在使用jQuery时遇到了一些困难,但是经过几次搜索后,设法使用我想要的页面上的这一行使其起作用:

<script>window.$ = window.jQuery = require('./node_modules/jquery/dist/jquery')</script>

然后,我尝试了多种方法来添加Datatables插件,但总是以错误结尾。当前,它是使用jQuery之后的一行,然后是自定义脚本:

<script>require('./node_modules/datatables.net/js/jquery.dataTables')</script>
<script>require('./renderer-process/foo/bar')</script>

在自定义脚本中,我正在尝试转换数据表中的表:

$(function () {
  $('#datatable-bar').DataTable();
});

我最终得到一个警告和一个错误:

jQuery.Deferred exception: $(...).DataTable is not a function TypeError: $(...).DataTable is not a function
Uncaught TypeError: $(...).DataTable is not a function

我在堆栈溢出,Datatables.net和其他网站的论坛上检查了问题。两个基本答案是:

  • 在插件之后加载jQuery(我认为不是我的情况)
  • jQuery已加载 两次(我如何验证这种可能性?)

欢迎提供帮助和/或任何其他建议!

1 个答案:

答案 0 :(得分:1)

好的,我感到羞耻,我应该更彻底地阅读文档。经过半天的研究,我不得不在这里发布一个问题,以找到正确的答案!但这可能会对其他人有所帮助,因为我在许多不同的论坛上偶然发现了同样的问题。

因此,如果您检查datatables.net软件包的README文件,您将得到答案:

<script>
  var $ = require( 'jquery' );
  require( 'datatables.net' )( window, $ );
</script>

这是使插件正常运行的方式,而没有更多错误或行可以调用它们,正如我在某些答案中看到的那样。它正在加载jQuery和Datatables脚本。现在它就像一种魅力!

我认为该页面也很有用:https://datatables.net/download/npm