Как использовать микрофронты с Vue/Nuxt?

#vue.js #nuxt.js

Вопрос:

Я хотел знать, как использовать микрофронты с Nuxt или, по крайней мере, Vue.
Есть ли простое решение plug amp; play, чтобы оно работало быстро?
Я слышал, например, о плагине v5 Modulefederation Webpack, допустимо ли это для запуска моего проекта Nuxt?

Ответ №1:

На сегодняшний день Nuxt2 все еще использует Webpack4, поэтому ModuleFederationPlugin это не будет возможным решением.
Nuxt v3 будет поставляться с поддержкой v5 Webpack, и вы, вероятно, сможете попробовать его тогда.

В качестве общего ответа вам нужно понять, что Микрофронт-это не то, что просто сделать. Это больше о том, как вы структурируете свое приложение в более широком масштабе.
Это похоже на наличие микросервиса на бэкэнде: это можно сделать несколькими способами, и все зависит от потребностей компании/команды.


Если вы создадите проект Vue2 или Vue3 с помощью интерфейса командной строки Vue, у вас все равно будет Webpack v4. Вероятно, вы можете попробовать выполнить обновление самостоятельно, если планируете использовать ModuleFederationPlugin .

В качестве альтернативы есть одноместный спа-салон. Это способ сделать это (вероятно, не единственный).
Вот подкаст-шоу, в котором подробно рассказывается об этой теме: https://devchat.tv/views-on-vue/building-micro-frontends-with-lawrence-almeida-vue-160/
Возможно, будет уместно понять, как это работает в целом, а также плюсы и минусы.

Если вас не устраивает такой подход, в Интернете есть много статей, в которых говорится о микрофронтах, и некоторых Google-fu будет достаточно, чтобы дать вам альтернативный способ.