Я максимально упростил код.
1) В таком виде, jquery глобально достижим. Это исходное состояние.
app.jsimport $ from "jquery";
window.$ = window.jQuery = $;
import { LessMore } from "./modules/less-more";
LessMore.init();
2) Нужно было добавить chosen, и код изменился так. Надо сказать, chosen не реализует модульный подход, он ждет, что к моменту исполнения кода уже есть window.jQuery, и потому валится.
app.jsimport $ from "jquery";
window.$ = window.jQuery = $;
import { LessMore } from "./modules/less-more";
import "chosen-js";
LessMore.init();
Видимо, laravel mix поднимает import наверх. Как достичь желаемого результата?