精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我來教你如何使用 Vite 的 React 微前端

開發 前端
通過利用Vite的快速構建和模塊聯合的動態代碼加載功能,我們可以以模塊化和可維護的方式高效地開發和擴展web應用程序。這種方法使多個團隊能夠獨立處理應用程序的不同部分,從而提高前端開發的靈活性和敏捷性。

什么是微前端?

微前端是web應用程序的一種架構方法,程序的前端代碼被劃分為更小的、獨立開發的和可部署的單元,稱為微前端。

這種方法允許不同的團隊在前端的不同部分工作,同時通過隔離層保持集成,提高了開發速度、可擴展性和靈活性。這是一種管理復雜性和促進前端開發自主性的方法。

模塊聯合

模塊聯合是一項關鍵技術,使JavaScript應用程序能夠在共享依賴項的同時從另一個應用程序動態加載代碼。

當使用聯合模塊的應用程序缺少所需的依賴項時,Webpack(底層技術)會自動從聯合構建源獲取缺少的依賴項。從而允許跨多個微前端高效共享和使用公共庫。

為什么選擇Vite?

雖然模塊聯合最初是在Webpack中引入的,但JavaScript開發的格局也由此發生了改變。Vite通過提供閃電般的構建時間而成為游戲規則的改變者。Vite和模塊聯合的結合使用可以快速有效地開發微前端,發揮巨大作用。

使用Vite + React創建微前端

創建微前端通常涉及兩個主要部分:

  1. 主機應用程序:用戶與之交互的主要應用程序。充當微前端的容器。
  2. 遠程應用程序:即微前端本身,充當主機應用程序的構建塊。

在了解了我們將要使用的技術之后,讓我們實際實現試試。

設置主機應用

要使用Vite和React創建主機應用程序,先運行以下命令:

# Using npm 6.x
npm create vite@latest host-app --template react

# Using npm 7+, add an extra double-dash:
npm create vite@latest host-app -- --template react

設置遠程應用

對遠程應用程序,執行以下命令:

npm create vite@latest todo-components -- --template react

這將創建兩個文件夾,host-app和todo-components。接下來安裝依賴項:

npm install

在遠程應用中創建組件

在todo-components應用中,創建以下組件:

// components/List.jsx
import React from "react";

const List = (props) => {
  const { items } = props;
  return (
    <ul>
      {items.map((item, index) => (
        <li key={index}>{item}</li>
      ))}
    </ul>
  );
};

export default List;
// components/Input.jsx
import React from "react";

const Input = (props) => {
  const { value, onChange, onSubmit } = props;
  return (
    <form
      onSubmit={(e) => {
        e.preventDefault();
        onSubmit(e);
      }}
    >
      <div className="flex-row">
        <input
          type="text"
          value={value}
          onChange={(e) => onChange(e.target.value)}
        />
        <button type="submit">Add</button>
      </div>
    </form>
  );
};

export default Input;

組件準備就緒后,對App.jsx文件進行以下更改:

// App.jsx
import { useState } from "react";
import reactLogo from "./assets/react.svg";
import viteLogo from "/vite.svg";
import "./App.css";
import Input from "./components/Input";
import List from "./components/List";

function App() {
  const [count, setCount] = useState(0);

  return (
    <>
      <Input value={count} onChange={setCount} onSubmit={console.log} />
      <List items={["Learn React", "Learn Vite", "Make an awesome app"]} />
    </>
  );
}

export default App;

預覽遠程應用

要預覽組件,請在todo-components應用中運行以下命令:

npm run dev

此時輸出如下:

添加模塊聯合到遠程應用

現在,讓我們將模塊聯合添加到todo-components應用。首先,安裝必要的依賴項:

npm install @originjs/vite-plugin-federation --save-dev

接著,在vite.config.js文件中配置模塊聯合:

// vite.config.js in todo-components
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import federation from "@originjs/vite-plugin-federation";

export default defineConfig({
  plugins: [
    react(),
    federation({
      name: "todo-components",
      filename: "remoteEntry.js",
      exposes: {
        "./List": "./src/components/List.jsx",
        "./Input": "./src/components/Input.jsx",
      },
      shared: ["react"],
    }),
  ],
  build: {
    modulePreload: false,
    target: "esnext",
    minify: false,
    cssCodeSplit: false,
  },
});

在此配置中:

  • name:指定遠程應用的名稱。
  • filename:設置模塊聯合生成文件的名稱。
  • exposes:列出要從遠程應用公開的組件。
  • shared:聲明共享依賴項,例如React,以優化捆綁包大小。

現在,構建遠程應用:

npm run build

這會在todo-components應用程序中生成dist文件夾,其中包含remoteEntry.js文件。

為遠程應用提供服務

在本地為遠程應用提供服務:

npm run preview

這意味著在端口4173上為遠程應用提供服務。

添加模塊聯合到主機應用

要在主機應用中使用遠程應用組件,需要在主機應用的vite.config.js文件中設置模塊聯合:

// vite.config.js in host-app
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import federation from "@originjs/vite-plugin-federation";

export default defineConfig({
  plugins: [
    react(),
    federation({
      name: "host-app",
      remotes: {
        todo_components: "http://localhost:4173/assets/remoteEntry.js",
      },
      shared: ["react"],
    }),
  ],
  build: {
    modulePreload: false,
    target: "esnext",

    minify: false,
    cssCodeSplit: false,
  },
});

在此配置中:

  • name:指定主機應用的名稱。
  • remotes:列出主機應用要使用的遠程應用。在本例中,我們有遠程應用、todo_components、以及提供remoteEntry.js文件的URL。
  • shared:聲明共享的依賴項,例如React,以優化捆綁包大小。

在主機應用中使用遠程組件

現在,我們可以在主機應用的App.jsx中導入和使用遠程應用組件了:

// App.jsx in host-app
import { useState } from "react";
import List from "todo_components/List";
import Input from "todo_components/Input";

function App() {
  const [newTodo, setNewTodo] = useState("");
  const [todos, setTodos] = useState([]);
  const onSubmit = () => {
    setTodos((prev) => [...prev, newTodo]);
    setNewTodo("");
  };

  return (
    <>
      <Input value={newTodo} onChange={setNewTodo} onSubmit={onSubmit} />
      <List items={todos} />
    </>
  );
}

export default App;

這里我們使用指定的遠程名稱todo_components從遠程應用導入組件。

為主機應用提供服務

若要在本地為主機應用提供服務,運行:

npm run dev

現在,遠程應用程序中的組件就可以在主機應用程序中無縫使用了,贊。

結論

在本文中,我們探討了微前端的概念,演示了如何使用Vite和React創建微前端架構,以及如何通過模塊聯合進行增強。

通過利用Vite的快速構建和模塊聯合的動態代碼加載功能,我們可以以模塊化和可維護的方式高效地開發和擴展web應用程序。這種方法使多個團隊能夠獨立處理應用程序的不同部分,從而提高前端開發的靈活性和敏捷性。

責任編輯:武曉燕 來源: 前端新世界
相關推薦

2024-09-23 00:00:10

2023-12-26 08:00:00

微前端React

2024-05-16 10:59:16

Vue項目前端

2022-08-26 01:46:33

注冊中心NacosDNS

2021-05-31 17:37:26

ViteReactesbuild

2023-02-02 08:41:14

React團隊Vite

2022-07-26 08:14:16

注冊中心ProviderConsumer

2022-01-24 12:38:58

Vite插件開發

2011-03-04 12:18:24

FileZilla

2020-10-19 06:47:05

爬蟲數據Jsoup

2023-11-20 08:12:15

2023-07-12 07:06:23

2023-07-11 06:32:03

2022-01-17 11:41:50

前端Vite組件

2015-11-12 09:57:57

前端零基礎學習

2022-05-08 13:05:22

職位產品經理開源

2016-10-31 11:26:13

ReactRedux前端應用

2021-10-12 23:01:42

項目語法React

2021-12-06 10:21:50

LinuxDNS 查詢

2019-01-23 10:11:43

Python爬蟲IP
點贊
收藏

51CTO技術棧公眾號

88国产精品视频一区二区三区| 一级黄色片在线观看| 中文字幕久久精品一区二区| 亚洲国产aⅴ天堂久久| 国产成人av一区二区三区| 成年免费在线观看| 青青草97国产精品麻豆| 欧美成人一级视频| 蜜臀久久99精品久久久酒店新书 | 日韩精品一二三四| zzjj国产精品一区二区| 国产精品久久久久久在线观看| 最新日韩三级| 一区二区成人在线视频| 欧洲一区二区在线| 99精品国产99久久久久久97| 国产婷婷在线视频| 超碰人人草人人| 亚洲经典一区二区三区| 久久精品电影| 一区二区三区亚洲变态调教大结局| 91精品视频一区二区| 亚洲欧美日韩精品久久久久| 久久综合毛片| 国产情侣在线播放| 久久国产欧美| 欧美激情亚洲国产| 99久久久无码国产精品性波多 | 亚洲精品大全| 狠狠爱在线视频一区| 国产成人一二三区| 二人午夜免费观看在线视频| 成人午夜激情在线| 91精品久久久久久久久不口人| 99热国产在线观看| 亚洲欧美综合| 久久亚洲春色中文字幕| 国产一二三四五区| 精品精品国产毛片在线看| 欧美一区二区三区四区视频| 最新中文字幕2018| 91看片一区| 欧美午夜精品久久久久久浪潮| 欧美亚洲色图视频| 欧美78videosex性欧美| 自拍偷拍亚洲激情| 婷婷亚洲婷婷综合色香五月| 第一页在线观看| 久久免费电影网| 欧美精品亚洲精品| 日本一卡二卡四卡精品| 99精品一区二区三区| 国产在线精品一区二区三区》| 亚洲国产精品suv| 粉嫩aⅴ一区二区三区四区| 亚洲一区中文字幕在线观看| 国产精品毛片一区视频播| 另类中文字幕网| 国产综合在线观看视频| 国产又粗又猛又爽又黄91| 久久精品久久综合| 成人a在线观看| 国产哺乳奶水91在线播放| 国产麻豆精品theporn| 亚洲最大的网站| 亚洲精品视频网| www.激情成人| 欧美国产一二三区| 大地资源中文在线观看免费版| 中文字幕高清不卡| 中文字幕一区二区三区5566| www在线视频| 亚洲一卡二卡三卡四卡| 日韩精品 欧美| 日本成人三级电影| 欧美日韩成人在线| 亚洲国产综合av| 国产女人18毛片水真多18精品| 日韩高清av在线| 国产精品久久久久久网站| 波多野结衣家庭教师在线观看 | 日韩成人免费在线观看| 国产传媒在线播放| 99re亚洲国产精品| 欧美一级二级三级| 麻豆视频免费在线观看| 亚洲综合成人在线视频| 欧美a v在线播放| 日本欧美不卡| 欧美一区二区三区在线视频| 精品视频站长推荐| 欧洲三级视频| 久久999免费视频| 天堂网中文字幕| 激情小说亚洲一区| 国产一区二区三区高清视频| 成人三级黄色免费网站| 一区二区三区在线观看网站| 免费黄色日本网站| gogo大尺度成人免费视频| 精品成人私密视频| 污污视频网站在线免费观看| 欧美日韩亚洲一区三区| 国产精品老牛影院在线观看| 中文字幕有码无码人妻av蜜桃| 国产精品亚洲а∨天堂免在线| 久久久久久99| 国产秀色在线www免费观看| 色综合久久中文综合久久97 | 国产真实精品久久二三区| 精品视频第一区| 黄网页免费在线观看| 欧美天天综合色影久久精品| 深夜福利网站在线观看| 精品一级毛片| 91精品国产成人www| 国产美女明星三级做爰| 久久久精品综合| 亚洲 欧美 综合 另类 中字| 国产精品黄色片| 日韩精品免费观看| 亚洲av鲁丝一区二区三区 | 99精品999| 伊人久久大香线蕉av不卡| 欧美猛男性生活免费| 中文无码精品一区二区三区| 97久久超碰精品国产| 亚洲成人动漫在线| 成人免费在线观看视频| 亚洲精品天天看| 日本一级片免费看| 国产69精品久久久久777| 亚洲国产精品影视| 欧美成人家庭影院| 国产一区二区动漫| 亚洲免费在线视频观看| 懂色一区二区三区免费观看| 男插女免费视频| 亚洲a成人v| 中文字幕在线亚洲| 中文精品久久久久人妻不卡| 久久夜色精品一区| 成年人小视频网站| 香蕉视频一区| 日韩免费中文字幕| 青青草视频在线观看| 日韩欧美成人网| 搡老熟女老女人一区二区| 99国产精品久久久久久久成人热 | 国产探花在线精品一区二区| 国产91精品不卡视频| 午夜视频免费在线| 四虎精品成人影院观看地址| 美女脱光内衣内裤视频久久影院| 欧美国产一二三区| 欧美三区四区| 正在播放亚洲1区| 中文字幕无码乱码人妻日韩精品| 国产亚洲精品久| 国产九九在线观看| 91tv精品福利国产在线观看| 91午夜理伦私人影院| a视频在线播放| 日韩欧美一区二区视频| 久久久久久久久久久网| 成人黄色777网| 99蜜桃臀久久久欧美精品网站| 欧美男gay| 国产精品最新在线观看| 国产三级在线播放| 精品日韩欧美在线| 亚洲精品1区2区3区| 国产日韩亚洲欧美综合| 色天使在线观看| 欧美日韩亚洲一区二区三区在线| 久久久av水蜜桃| 欧美大片1688网站| 欧美老肥婆性猛交视频| 涩涩视频免费看| 色av成人天堂桃色av| 欧美日韩生活片| 国产精品白丝av| 九色在线视频观看| 日本欧美国产| 成人综合色站| 香蕉视频亚洲一级| 精品国产一区二区三区在线观看| 亚洲xxx在线| 色综合久久天天| 加勒比婷婷色综合久久| 99在线精品观看| 超碰人人草人人| 国产日韩1区| 一区二区在线观看网站| 国产精品调教视频| 国产精品啪视频| 国模私拍视频在线播放| 在线日韩中文字幕| 欧美自拍偷拍一区二区| 欧美色偷偷大香| 男人天堂中文字幕| 国产精品对白交换视频| 你懂的在线观看网站| 久久99最新地址| 日韩av在线第一页| 欧美91福利在线观看| 欧美精品人人做人人爱视频| 亚洲开心激情| 91久久久久久久久久久久久| 三妻四妾完整版在线观看电视剧| 美女精品视频一区| 国产51人人成人人人人爽色哟哟| 精品裸体舞一区二区三区| 在线免费一级片| 精品久久久国产精品999| √天堂中文官网8在线| 国产日韩欧美麻豆| 亚洲熟女一区二区| 国产精品99久久久久久似苏梦涵| 色哟哟精品视频| 美女视频一区免费观看| 男女猛烈激情xx00免费视频| 希岛爱理一区二区三区| 五月天亚洲综合情| 亚洲三级网址| 国产精选在线观看91| 国产成年精品| 成人黄色av网| 涩涩涩久久久成人精品| 国产精品久久久久久久av大片 | 污视频在线免费| 欧美大片在线观看一区| 国产精品无码免费播放| 欧美日韩1区2区| 一级黄色片在线看| 欧美精品777| 97超视频在线观看| 欧美日韩精品系列| 最近中文字幕av| 91久久精品国产91性色tv| 性无码专区无码| 欧美视频在线免费看| 懂色av.com| 午夜亚洲国产au精品一区二区| 青春草免费视频| 一区二区三区在线高清| 日韩女优一区二区| 亚洲最大成人网4388xx| 久久网一区二区| 亚洲午夜激情网页| 日本一级黄色录像| 亚洲国产精品久久人人爱蜜臀| 久久久精品99| 亚洲sss视频在线视频| 国产亚洲精品成人| 午夜激情综合网| 丁香六月婷婷综合| 色噜噜狠狠成人网p站| 波多野结衣在线电影| 欧美日韩在线一区二区| 国产尤物视频在线观看| 91精品国产欧美一区二区18| 国产极品久久久| 亚洲精品一区二区三区精华液| 色婷婷av一区二区三区之红樱桃| 日韩国产高清视频在线| 黄色毛片在线观看| 欧美在线观看天堂一区二区三区| 国产精品视频自拍| 高清国产一区二区三区四区五区| 99影视tv| 蜜桃一区二区三区| 亚洲精品永久www嫩草| 中文字幕一区二区三三| 日韩精品视频在线观看视频| 久久精品国语| 激情五月婷婷基地| 成人丝袜高跟foot| 色哟哟精品观看| 亚洲久草在线视频| 欧美一区二区三区四| 欧美日韩精品一区视频| 亚洲精品.www| 亚洲偷熟乱区亚洲香蕉av| 快射av在线播放一区| 久久久久久com| 蜜桃视频成人m3u8| 999热视频| 蜜桃成人av| 欧美久久久久久久久久久久久久| 在线视频亚洲| av噜噜在线观看| 99久久国产免费看| 三级黄色片在线观看| 五月婷婷综合激情| 日本欧美www| 亚洲精品一区二区三区蜜桃下载| av在线电影播放| 97国产suv精品一区二区62| 热久久久久久| 精品午夜一区二区| 伊人久久大香线蕉综合四虎小说| 成人观看免费完整观看| 国产精品影视在线| 亚洲一级片在线播放| 亚洲成a人在线观看| 伊人免费在线观看| 亚洲精品久久视频| 18在线观看的| 国产精品影片在线观看| 久久综合另类图片小说| 综合网五月天| 日韩av电影免费观看高清完整版| 亚洲欧美高清在线| 国产亚洲字幕| 国产一区二区三区在线观看精品| 福利视频一二区| 另类中文字幕网| 国产ts在线播放| 一区二区三区不卡在线观看 | 亚洲国产日韩精品| 亚洲在线免费观看视频| 日韩黄色高清视频| 欧美14一18处毛片| 91影视免费在线观看| av一区二区高清| 免费黄色特级片| 91色综合久久久久婷婷| 日韩三级视频在线| 日韩久久精品一区| 国内精品不卡| 国产精品一区一区| 91精品视频网站| jizz18欧美18| 青青草综合视频| 韩国欧美国产一区| 欧美成人短视频| 欧美性大战久久久久久久| 精品无人乱码| 国产福利视频一区| 久久av电影| 欧美私人情侣网站| 国产亚洲一区二区三区| 永久免费无码av网站在线观看| 日韩久久精品电影| 中文在线免费视频| 欧美日韩在线观看一区二区三区 | 欧美巨乳在线观看| 九九九九九九精品任你躁 | 国产欧美一区二区三区国产幕精品| 日本一区二区免费视频| 亚洲高清免费视频| 欧美一区二不卡视频| 午夜精品蜜臀一区二区三区免费| 日本韩国在线视频爽| 成人亚洲欧美一区二区三区| 久久久久久久久久久久久久| 久久久福利影院| 亚洲一区免费观看| 天天干天天插天天操| 欧美专区中文字幕| 欧美亚洲国产激情| 亚洲va在线va天堂va偷拍| 亚洲另类中文字| 亚欧在线观看视频| 国产精品视频最多的网站| 久久久久久久久久久久久久久久久久| 少妇愉情理伦片bd| 精品国产乱码久久久久久虫虫漫画| 免费看男男www网站入口在线| 国产精品久久久久av| 欧美1级片网站| 韩国av中国字幕| 色哟哟欧美精品| 亚洲欧美视频一区二区| www 成人av com| 免费在线日韩av| 国产精品夜夜夜爽阿娇| 日韩欧美国产综合| 亚洲人体视频| 天堂精品一区二区三区| 国产成人av自拍| www五月天com| 欧美成人免费在线视频| 日韩伦理一区二区三区| 亚洲国产成人va在线观看麻豆| 夜夜爽夜夜爽精品视频| 欧美91精品久久久久国产性生爱| 国产日产久久高清欧美一区| 国产综合自拍| 2019男人天堂| 337p日本欧洲亚洲大胆精品| 97欧美成人| 精品成在人线av无码免费看| 国产欧美精品日韩区二区麻豆天美| 国产男男gay体育生网站| 78色国产精品| 亚洲成人精品| aaaaa级少妇高潮大片免费看| 欧美一级精品在线|