DataTables:Uncaught TypeError:无法读取未定义的属性“默认值”

对DataTables使用Bootstrap集成时 ,在控制台中看到以下错误:

  Uncaught TypeError:无法读取未定义的属性'defaults'(dataTables.bootstrap.js:20) 

这会导致分页控件没有样式。

我可以看到,在工厂初始化,下面的代码需要运行:

factory( jQuery, jQuery.fn.dataTable ); 

但是, jQuery.fn.dataTable返回undefined

问题是dataTable没有定义在你调用这个方法的地方。

确保您正在以正确的顺序加载.js文件:

 <script src="/Scripts/jquery.dataTables.js"></script> <script src="/Scripts/dataTables.bootstrap.js"></script> 

我得到了同样的错误,我使用webpack的laravel 5.4,在这里package.json之前:

 { ... ... "devDependencies": { "jquery": "^1.12.4", ... ... }, "dependencies": { "datatables.net": "^2.1.1", ... ... } } 

我必须将jquerydatatables.net npm软件包置于package.json中这些"dependencies": {}"devDependencies": {}中,并且错误消失:

 { ... ... "devDependencies": { "jquery": "^1.12.4", "datatables.net": "^2.1.1", ... ... } } 

我希望有帮助!