Почему я получаю TypeError: $(…).DataTable не является функцией?

#jquery #datatables

#jquery #таблицы данных

Вопрос:

Я включил jquery только один раз, и все же я не могу заставить таблицы данных инициироваться в таблице html. Я использовал панели инструментов разработчиков Firefox и Chrome и вижу, что эти библиотеки загружаются.

 <script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
<script src="~/lib/datatables/js/dataTables.dataTables.min.js"></script>
<script src="~/js/create.js" asp-append-version="true"></script>
 

В create.js файл, у меня есть:

 $(document).ready(function () {
    $('#gridEmployees').DataTable({
        paging: true
    });
}
 

Глядя на других, которые получили эту ошибку, их проблема, похоже, заключалась в том, чтобы либо ссылаться на jquery более одного раза, либо помещать библиотеку datatables перед jquery. Как вы можете видеть, я не допустил ни одной из этих ошибок.

Комментарии:

1. Действительно ли файл JS назван dataTables.dataTables.min.js ? Я подозреваю, что это на самом деле dataTables.min.js

2. Да, я использовал этот новый инструмент с именем libman, и я могу подтвердить правильность пути и имени файла.

3. Хорошо, ты заставил меня задуматься, и я просто попытался jquery.dataTables.min.js и это заставило его работать. Я не вижу никакой документации о том, какие файлы что делают. Это было бы полезно иметь.

4. jquery.dataTables.min.js содержит библиотеку jQuery DataTables. Документация о том, как загрузить библиотеку, должна прояснить это.

5. Чего я не понимаю, так это почему вы говорите, что могли видеть в консоли, что библиотеки загружаются. Вы должны были получить ошибку 404 для файла с неправильным именем.