Require.js
DataTables及其扩展可以使用以下AMD加载程序:RequireJS。我们提供了以下脚本,方便您使用RequireJS加载我们的软件。请注意:这些文件托管在我们的CDN上,但如果您希望使用其他CDN(例如CDNJS)或您自己的服务器,只需更换URL即可。
在使用 RequireJS 时需要记住的一点是,如果没有外部插件,它对 CSS 无效。要使用我们提供的样式表,您需要从我们的下载构建器加载它们或手动包含它们。
基本用法
require.config( {
paths: {
'datatables.net': 'path/to/dataTables.min',
'jquery': 'path/to/jquery',
}
} );
require( ['jquery', 'datatables.net'], function ($, dt) {
$('#myTable').DataTable();
} );
RequireJS + DataTables CDN
要使用 RequireJS 从我们的 CDN 使用 DataTables,请将以下内容与 RequireJS 一起加载到您的页面上,这将为您注册所有必需的路径。然后,您可以使用以下命名约定使用 require()
:NPM 软件包。
(function(){
var cdnBase = 'https://cdn.datatables.net';
var extensions = [
{n: 'autofill', v: '2.7.0'},
{n: 'buttons', v: '3.1.2'},
{n: 'fixedcolumns', v: '5.0.3'},
{n: 'fixedheader', v: '4.0.1'},
{n: 'keytable', v: '2.12.1'},
{n: 'responsive', v: '3.0.3'},
{n: 'rowgroup', v: '1.5.0'},
{n: 'rowreorder', v: '1.5.0'},
{n: 'scroller', v: '2.4.3'},
{n: 'searchbuilder', v: '1.8.1'},
{n: 'searchpanes', v: '2.3.3'},
{n: 'select', v: '2.1.0'},
{n: 'staterestore', v: '1.4.1'}
];
var styles = [
{s: 'bm', f: 'bulma'},
{s: 'bs', f: 'bootstrap'},
{s: 'bs4', f: 'bootstrap4'},
{s: 'bs5', f: 'bootstrap5'},
{s: 'dt', f: 'dataTables'},
{s: 'ju', f: 'jqueryui'},
{s: 'se', f: 'semanticui'}
];
// Initial paths which aren't included in the automatic path setup
var paths = {
'datatables.net': cdnBase + '/2.1.8/js/dataTables.min',
'datatables.net-buttons-print': cdnBase + '/buttons/3.1.2/js/buttons.print.min',
'datatables.net-buttons-html5': cdnBase + '/buttons/3.1.2/js/buttons.html5.min',
'datatables.net-buttons-colvis': cdnBase + '/buttons/3.1.2/js/buttons.colVis.min',
'jquery': 'https://code.jquery.com/jquery-3.6.0.min'
};
for (var i=0 ; i<styles.length ; i++) {
paths['datatables.net-' + styles[i].s] =
cdnBase + '/2.1.8/js/dataTables.' + styles[i].f + '.min';
}
for (var i=0 ; i<extensions.length ; i++) {
var e = extensions[i];
paths['datatables.net-' + e.n] =
cdnBase + '/' + e.n + '/' + e.v + '/js/dataTables.' + e.n + '.min';
for (var j=0 ; j<styles.length ; j++) {
var s = styles[j];
paths['datatables.net-' + e.n + '-' + s.s] = cdnBase + '/' + e.n + '/' + e.v + '/js/' + e.n + '.' + s.f + '.min';
}
}
require.config({
paths: paths
});
})();
示例
只使用 DataTables
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
require(
['jquery', 'datatables.net'],
function ($) {
$('#myTable').DataTable();
}
)
</script>
此示例正在运行,可在此处获取。
使用 FixedHeader 和 Bootstrap 5 样式的 DataTables
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
require(
['jquery', 'datatables.net-bs5', 'datatables.net-fixedheader-bs5'],
function ($) {
$('#myTable').DataTable({
fixedHeader: true
});
}
)
</script>
请注意 -bs5
的用法,用来指明要为其加载集成的样式库(您仍然需要自行加载 Bootstrap 5)。
带有 Print 按钮的按钮
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
require(
['jquery', 'datatables.net', 'datatables.net-buttons', 'datatables.net-buttons-print'],
function ($) {
$('#myTable').DataTable({
dom: 'Bftip',
buttons: [
'print'
]
});
}
)
</script>