Laravel MIX не работает, использование CDN работает

Я немного потерялся здесь. Я НЕ новичок в 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.

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

apokryfos 03.09.2018 17:55

Спасибо, дайте мне минуту, и я обновлю вопрос. Я надеялся, что упустил что-то очевидное.

brnd0 03.09.2018 17:59

Вам необходимо установить Katex через пакет npm. Laravel Mix не работает со сценариями CDN, если вы не хотите использовать несколько запросов <script>.

Ru Chern Chong 05.09.2018 04:39

Извините за задержку с ответом. Да, я установил его, как и многие другие пакеты: require('katex');, но он не работал. Я попробовал window.katex = require('katex');, но все равно ничего. Может, мне нужно было сделать это с большим К. Хм, позволь мне вернуться к тебе.

brnd0 02.10.2018 14:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
4
932
1

Ответы 1

Katex следует устанавливать как:

window.katex = require('katex');

Другие вопросы по теме