Я использую Symfony с веб-пакетом и столкнулся с проблемой при добавлении нового пакета datatables
. Я прочитал много сообщений о проблеме, исключающей эту библиотеку, и только один способ дать мне успешный результат без ошибки import
пакет. json
{
"devDependencies": {
"@fortawesome/fontawesome-free": "^5.8.2",
"@symfony/webpack-encore": "^0.30.0",
"bootstrap": "^4.3.1",
"core-js": "^3.0.0",
"node-sass": "^4.12.0",
"popper.js": "^1.15.0",
"regenerator-runtime": "^0.13.2",
"sass-loader": "^8.0.0",
"webpack-notifier": "^1.6.0"
},
"license": "UNLICENSED",
"private": true,
"scripts": {
"dev-server": "encore dev-server",
"dev": "encore dev",
"watch": "encore dev --watch",
"build": "encore production --progress"
},
"dependencies": {
"datatables.net": "^1.10.21",
"datatables.net-autofill-bs4": "^2.3.5",
"datatables.net-bs4": "^1.10.21",
"datatables.net-buttons-bs4": "^1.6.3",
"datatables.net-colreorder-bs4": "^1.5.2",
"datatables.net-dt": "^1.10.21",
"datatables.net-fixedcolumns-bs4": "^3.3.1",
"datatables.net-fixedheader-bs4": "^3.1.7",
"datatables.net-keytable-bs4": "^2.5.2",
"datatables.net-responsive-bs4": "^2.2.5",
"datatables.net-rowgroup-bs4": "^1.1.2",
"datatables.net-rowreorder-bs4": "^1.2.7",
"datatables.net-scroller-bs4": "^2.0.2",
"datatables.net-searchpanes-bs4": "^1.1.1",
"datatables.net-select-bs4": "^1.3.1",
"file-loader": "^3.0.1",
"jquery": "^3.4.1",
"url-loader": "^1.1.2"
}
}
приложение. js
import '../css/app.scss';
import * as dt_bs4 from 'datatables.net-bs4'
import * as fh_bs from 'datatables.net-fixedheader-bs4';
require('@fortawesome/fontawesome-free/css/all.min.css');
require('datatables.net-dt/css/jquery.dataTables.min.css');
require('@fortawesome/fontawesome-free/js/all.js');
const $ = require( 'jquery' );
global.$ = global.jQuery = $;
require('bootstrap');
при попытке следовать документации
var $ = require( 'jquery' );
require( 'datatables.net-bs4' )( window, $ );
require( 'datatables.net-fixedheader-bs4' )( window, $ );
Я столкнулся с ошибкой TypeError: Cannot set property '$' of undefined
my_file. js
import list from './parts/sort.js';
document.addEventListener("DOMContentLoaded", function () {
list();
});
sort . js
export default function list() {
$('#example').dataTable({
fixedHeader: true
});
}
как исправить исключить эту библиотеку? И моя главная цель на сегодня - включить возможность исправить заголовок