Symfony с Webpack и Stimulus загружает все контроллеры на каждой страницеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Symfony с Webpack и Stimulus загружает все контроллеры на каждой странице

Сообщение Anonymous »

У меня возникла проблема с настройкой, упомянутой в заголовке. Проект использует Symfony 7.1 с бисом и стимулом Webpack. У меня есть комбинация файлов custom.js для отдельных страниц и контроллеров стимулов. К сожалению, все контроллеры стимулов включены в app.js и загружаются на каждой странице. Даже с комментарием /* стимулаFetch: 'lazy' */.
Это ужасная вещь, потому что у меня довольно много пользовательских контроллеров, и они предназначены для отдельных страниц, не весь сайт. Это без всякой причины увеличивает размер пакета, а некоторые контроллеры предназначены не для общедоступных, а для зарегистрированных/вошедших в систему пользователей.
Как я могу изменить это поведение и загружать контроллер только там, где он мне нужен? Текущий bootstrap.js по умолчанию взят из Symfony:

Код: Выделить всё

import { startStimulusApp } from "@symfony/stimulus-bridge";

// Registers Stimulus controllers from controllers.json and in the controllers/
export const app = startStimulusApp(
require.context(
"@symfony/stimulus-bridge/lazy-controller-loader!./controllers",
true,
/\.[jt]sx?$/
)
);
Я попробовал загрузить bootstrap.js из файла, отличного от app.js, но ни один из контроллеров не загружается. Я также попробовал не регистрировать контроллеры вот так:

Код: Выделить всё

import { startStimulusApp } from "@symfony/stimulus-bridge";
const app = startStimulusApp();
export default app;
А затем вручную вызываем app.register('', ); в отдельных файлах .js, однако он не загружается.
Пожалуйста, посоветуйте, очень признателен.

Подробнее здесь: https://stackoverflow.com/questions/791 ... every-page
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»