Я немного потерялся здесь. Я НЕ новичок в Laravel Mix, поэтому это действительно сбивает с толку.
У меня есть файл с макетом лезвия, и он выглядит примерно так
<html> ....
<script src = "https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.9.0/katex.min.js"></script>
<script src = "{{ mix('/js/myjs.js") }}></script>
</body>
</html>
myjs.js скомпилирован с использованием Laravel Mix и содержит дюжину библиотек, и все они компилируются и работают правильно.
Однако, если я включу это
require('katex'); //so it's above everything else to simulate situation from above, when it's included in the layout file
...
и удалите сценарий CDN из файла макета - библиотека Katex работать не будет.
Я пробовал использовать require('katex/dist/katex.min.js'), но все равно ничего. Файл katex.min.js в библиотеке и файл в CDN одинаковы.
Я не эксперт по npm, и я использую его только для получения библиотек, а затем слияния и минимизации их в моем приложении Laravel.
Может ли кто-нибудь помочь мне указать здесь на проблему или указать, что я здесь делаю / ошибаюсь?
Не следует
<script src = "lib1.js"></script>
<script src = "lib2.js"></script>
включены в HTML, и
require('lib1')
require('lib2')
скомпилирован
<script src = "{{ mix('compiled.js') }}"></script>
производить то же самое?
Спасибо!
ОБНОВИТЬ:
Я использую Katex для реализации плагина это summernote.
Спасибо, дайте мне минуту, и я обновлю вопрос. Я надеялся, что упустил что-то очевидное.
Вам необходимо установить Katex через пакет npm. Laravel Mix не работает со сценариями CDN, если вы не хотите использовать несколько запросов <script>.
Извините за задержку с ответом. Да, я установил его, как и многие другие пакеты: require('katex');, но он не работал. Я попробовал window.katex = require('katex');, но все равно ничего. Может, мне нужно было сделать это с большим К. Хм, позволь мне вернуться к тебе.






Katex следует устанавливать как:
window.katex = require('katex');
Короткий ответ: нет, они не производят одно и то же. Webpack связывает все в своей собственной области, но включение скриптов с тегом
<script>включает их в глобальную область. Это поможет нам понять, в чем проблема, если вы расскажете, как вы пытаетесь использовать Katex в других своих скриптах.