Использование инерции в приложении Laravel модуляPhp

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

Сообщение Anonymous »

Инерция хорошо работает в моем приложении Laravel. Я установил его в соответствии с страницами инерции, не совсем отличающимся от этого >> (хотя в моем приложении существуют существенные различия). Функциональность модулей работает хорошо. Когда у меня есть много модулей, это означает, что код исходного VUE будет распространяться по многим «модулям», что означает, что функция Resolve () (в сценарии JS ниже) должна проверять различные местоположения для файлов. Поскольку import.meta.glob не принимает динамические значения, его необходимо выполнять через переключатель или сложный массив операторов if (или что -то еще). Это тоже хорошо. Если я переключаю параметр modulevar для жесткого кодируемого значения в коде ниже, я могу загружать файлы из разных модулей (несколько псевдокоди-глюков, несмотря на то, что код был упрощен, чтобы проиллюстрировать мою проблему).
Проблема заключается в , что я не могу найти способ пройти функцию модулевой (). Концептуально, я хотел бы сделать следующее: < /p>

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

createInertiaApp({
id: 'app',
resolve: async(name, moduleVar) => { // moduleVar is pseudo-code. I can't find a way to actually pass a parameter in here
const dirs = {
'appfnd': () => import.meta.glob('../../Modules/appfnd/Resources/assets/js/vue/**/*.vue'),
'sales':  () => import.meta.glob('../../Modules/sales/Resources/assets/js/vue/**/*.vue',
'std':    () => import.meta.glob('./vue/**/*.vue'),
};
const pages = dirs[moduleVar](); // if I hard-code moduleVar to (e.g.) 'sales' my app works
let page;
switch (moduleVar) {
case 'appfnd':
case 'sales':
page = (await pages[`../../Modules/${moduleVar}/Resources/assets/js/vue/${name}.vue`]()).default;
break;
default:
page = (await pages[`./vue/${name}.vue`]()).default;
}

if (page.layout === undefined) {
page.layout = Layout;
}
return page;
},
setup({ el, App, props, plugin }) {
createApp({ render: () => h(App, props) })
.use(plugin)
.use(store)
.use(ZiggyVue, Ziggy)
.component('Head', Head)
.component('Link', Link)
.mount(el);
},
title: (title) => title + " - My Lovely App",
});
< /code>
Моя идея состоит в том, что значение будет передано от контроллера Ларавела, что-то вроде этого: < /p>


Подробнее здесь: [url]https://stackoverflow.com/questions/76071420/using-inertia-in-a-modularised-laravel-app[/url]
Ответить

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

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

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

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

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