Я использую NodeJS и установил пакет table2csv через npm
sudo npm install table2csv
Сейчас я пытаюсь использовать этот пакет на веб-странице и не могу понять, как правильно его вызвать, вот мой пример:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!--/var/www/node_modules/table2csv/dist/table2csv.min.js-->
<script src=”node_modules/table2csv/dist/table2csv.min.js”></script>
<script>function exportCSV(){
var csv = $("#fullDataTable").table2CSV();
window.location.href = 'data:text/csv;charset=UTF-8,'+ encodeURIComponent(csv);
}
</script>
</head>
<body>
<table id="fullDataTable">
<thead>
<tr>
<th>Foo.</th>
<th>bar.</th>
<th>bla.</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>
<Button onclick="exportCSV()">DOWNLOAD</button>
</body>
</html>
Полный путь к пакету /var/www/node_modules/table2csv/dist/table2csv.min.js
, и я попробовал варианты, такие как ../node_modules/table2csv/dist/table2csv.min.js
, поскольку файл моей веб-страницы находится в /var/www/views
.
(в настоящее время веб-страница отображается правильно, но при нажатии кнопки Download
ничего не происходит)
Как правильно вызвать пакет?
------ ОБНОВЛЕНИЕ ------
Вместо этого я добавил ссылку cdn, но функция / кнопка по-прежнему не работает
<head>
<meta charset="utf-8">
<!--/var/www/node_modules/table2csv/dist/table2csv.min.js-->
<script src="https://cdn.jsdelivr.net/npm/table2csv@1.1.3/src/table2csv.min.js"></script>
<script>function exportCSV(){
var csv = $("#fullDataTable").table2CSV();
window.location.href = 'data:text/csv;charset=UTF-8,'+ encodeURIComponent(csv);
}
</script>
</head>
---- ОБНОВЛЕНИЕ 2 ----
Всегда импортируйте JQuery до , используя table2csv!
(проблема по-прежнему не устранена, поскольку библиотека не загружается
---- ОБНОВЛЕНИЕ 3 -----
При использовании ссылки cdn консоль выдала мне следующие ошибки
Uncaught SyntaxError: Unexpected token < table2csv.min.js:1
на <!doctype html>
, что кажется странным, а также
Uncaught TypeError: document.getElementById(...).table2csv is not a function
at exportCSV (about:11)
at HTMLButtonElement.onclick (about:34)
в строке 11: var csv = document.getElementById('fullDataTable').table2csv();
---- ОБНОВЛЕНИЕ 4 ----
Я сдался и просто скопировал содержимое table2csv.js
в блок <script>
в моем html. Аллилуйя.