我目前正在我创建的每个JavaScript文件上导入jQuery数据表。
import 'datatables.net/js/jquery.dataTables';
import 'datatables.net-bs4/js/dataTables.bootstrap4';
$('#example').DataTable();
是否可以使它成为全局性的,而不必每次都导入它? jQuery具有这种行为,我可以在每个JavaScript上访问$
而不导入它。
在我的 environment.js 中,我目前有这个:
const {environment} = require('@rails/webpacker');
const webpack = require('webpack');
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default']
}));
module.exports = environment;
我相信这是在全球范围内加载软件包的文件。可以在此处包含数据表吗?
到目前为止,我已经尝试过:
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default'],
DataTable: 'datatables.net'
}));
这:
environment.plugins.append('Provide', new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
Popper: ['popper.js', 'default'],
DataTable: 'datatables.net/js/jquery.dataTables'
}));
但是没有运气。您知道可能是什么问题吗?
答案 0 :(得分:1)
我遇到了同样的问题,在此链接https://datatables.net/forums/discussion/32542/datatables-and-webpack上发现了一些有用的东西,可能您应使用dt代替DataTable