最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文教你在現(xiàn)有Vue項(xiàng)目中嵌入Blazor項(xiàng)目

 更新時(shí)間:2023年01月21日 08:55:09   作者:tokengo  
目前官方只提供了angular和react倆種示例,所以本教程將來講解如何在Vue的現(xiàn)有項(xiàng)目中嵌入使用Blazor項(xiàng)目。文中的方法講解詳細(xì),感興趣的小伙伴可以了解一下

準(zhǔn)備流程

Vue 項(xiàng)目創(chuàng)建流程

1.使用Vue創(chuàng)建一個(gè)Demo項(xiàng)目 全部選擇默認(rèn)No即可 然后項(xiàng)目名稱就用demo

npm init vue@latest

cd demo
npm i

安裝完成依賴,在項(xiàng)目的根目錄找到index.html 添加以下代碼即可

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico" rel="external nofollow" >
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vite App</title>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>
    <script src="_content/Microsoft.AspNetCore.Components.CustomElements/BlazorCustomElements.js"></script> 
    <script src="_framework/blazor.webassembly.js"></script>
  </body>
</html>

在 src\App.vue中添加以下代碼

<script setup lang="ts">
</script>

<template>
  <main>
    <my-blazor-counter/>   <!--對應(yīng)razor組件的標(biāo)簽 -->
  </main>
</template>

然后將Vue項(xiàng)目構(gòu)建

npm run build

將生成的 dist目錄copy到創(chuàng)建的 Blazorwwwroot

Blazor項(xiàng)目創(chuàng)建流程

使用mkdir創(chuàng)建一個(gè)webassembly文件夾 ,cd進(jìn)入webassembly目錄,創(chuàng)建 一個(gè)空的blazor-webassembly的項(xiàng)目

mkdir webassembly  
cd webassembly
dotnet new blazorwasm-empty 

Microsoft.AspNetCore.Components.CustomElements添加到項(xiàng)目文件中,Microsoft.AspNetCore.Components.CustomElements就是用于在Vue中使用Blazor的一個(gè)包, 需要注意的是這個(gè)包只有.Net 6Rc和.Net7正式版才能使用

<PackageReference="Microsoft.AspNetCore.Components.CustomElements" Version="7.0.2" />

然后打開Program.cs 修改相關(guān)代碼

using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

var builder = WebAssemblyHostBuilder.CreateDefault(args);
// BlazorApp.Pages.Index可以修改成自己的渲染的razor組件
// my-blazor-counter就是上面提到的razor對應(yīng)的標(biāo)記 這樣就可以在react通過my-blazor-counter去渲染BlazorApp.Pages.Index組件的內(nèi)容了
builder.RootComponents.RegisterCustomElement<webassembly.Pages.Index>("my-blazor-counter");
builder.RootComponents.Add<HeadOutlet>("head::after");

await builder.Build().RunAsync();

打開webassembly.Pages.Index 修改相關(guān)代碼

<h1>@Title</h1>

<p role="status">點(diǎn)擊數(shù)量: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">點(diǎn)擊Blazor組件效果</button>

@code {
    private int currentCount = 0;
    [Parameter] 
    public string Title { get; set; } = "Vue 嵌入 Blazor";
    [Parameter] 
    public int? IncrementAmount { get; set; }

    private void IncrementCount()
    {
        currentCount++;
    }
}
<style>
    button {
        font-weight: bold;
        background-color: #7b31b8;
        color: white;
        border-radius: 4px;
        padding: 4px 12px;
        border: none;
    }

    button:hover {
        background-color: #9654cc;
        cursor: pointer;
    }

    button:active {
        background-color: #b174e4;
    }

</style>

 需要注意將`Vue`項(xiàng)目build生成的文件拷貝并且覆蓋到`Blazor`項(xiàng)目中的`wwwroot`中

運(yùn)行效果

我們進(jìn)入到Blazor項(xiàng)目中準(zhǔn)備執(zhí)行blazor項(xiàng)目

dotnet watch

然后查看效果,執(zhí)行效果如下:

運(yùn)行基本沒有什么問題,這樣Blazor就不太會太死板,我們就可以某些在于Blazor有優(yōu)勢的情況就可以去嵌入Blazor實(shí)現(xiàn),在Vue中的使用成本極低,只是引用js,然后通過加入對應(yīng)的標(biāo)簽就可以直接使用,當(dāng)然你如果想要倆個(gè)項(xiàng)目一塊調(diào)試的話,可能需要在本地搭建nginx 去將倆個(gè)項(xiàng)目一塊代理到一個(gè)端口,這種情況是比當(dāng)前的拷貝到wwwroot目錄的效果更好的,我現(xiàn)在正在使用這種嵌入的方式在 一個(gè)基于react的Ide(opensumi)中嵌入Blazor的組件,實(shí)現(xiàn)動態(tài)編譯代碼并且實(shí)時(shí)的去渲染Blazor組件的效果,這樣會很有效提供開發(fā)Blazor的效率,也可以在公司現(xiàn)有項(xiàng)目中的Vue 或者react Angular的項(xiàng)目中嵌入Blazor,目前來說嵌入成本很低,而且官方的是支持ServerWebassembly倆種模式的。可以參考實(shí)際業(yè)務(wù)去使用不同模式的,說到這里基本講解完成了。

到此這篇關(guān)于一文教你在現(xiàn)有Vue項(xiàng)目中嵌入Blazor項(xiàng)目的文章就介紹到這了,更多相關(guān)Vue嵌入Blazor內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Burpsuite模塊之Burpsuite Intruder模塊詳解

    Burpsuite模塊之Burpsuite Intruder模塊詳解

    Burp Intruder主要有四個(gè)模塊組成,本文針對每一模塊給大家詳細(xì)介紹,對Burpsuite Intruder模塊相關(guān)知識感興趣的朋友一起看看吧
    2021-09-09
  • 使用Ollama服務(wù)監(jiān)聽0.0.0.0地址

    使用Ollama服務(wù)監(jiān)聽0.0.0.0地址

    本文介紹了如何配置Ollama以監(jiān)聽0.0.0.0地址,使其能夠接受來自任何網(wǎng)絡(luò)接口的連接,并驗(yàn)證配置是否生效,同時(shí),也提醒了在進(jìn)行此操作時(shí)應(yīng)注意的安全風(fēng)險(xiǎn)
    2025-02-02
  • vscode安裝使用的詳細(xì)教程

    vscode安裝使用的詳細(xì)教程

    Visual Studio Code (簡稱 VS Code / VSC) 是一款免費(fèi)開源的現(xiàn)代化輕量級代碼編輯器,這篇文章主要介紹了vscode安裝使用的詳細(xì)教程,需要的朋友可以參考下
    2020-08-08
  • 常見前端面試題及答案

    常見前端面試題及答案

    本文是在GitHub上看到一個(gè)大??偨Y(jié)的前端常見面試題,很多問題問的都很好,很經(jīng)典、很有代表性。上面沒有答案,我就整理了一下,從網(wǎng)上找了一些相關(guān)問題的答案
    2016-08-08
  • git之reflog命令的使用

    git之reflog命令的使用

    git reflog 命令可以用來查看本地倉庫的所有操作記錄,包括所有分支的提交、合并、重置等操作,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2023-08-08
  • VS2019提示scanf不安全問題的解決

    VS2019提示scanf不安全問題的解決

    這篇文章主要介紹了VS2019提示scanf不安全問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • VSCode遠(yuǎn)程XHR failed無法連接的問題及解決方案

    VSCode遠(yuǎn)程XHR failed無法連接的問題及解決方案

    VSCode進(jìn)行遠(yuǎn)程連接時(shí)會檢查服務(wù)端的Server運(yùn)行情況,如未運(yùn)行則需要下載安裝,在下載過程中可能需要訪問外網(wǎng),如果外網(wǎng)不通則連接過程失敗,解決方法是手動下載離線安裝包,手動解壓至指定的路徑即可,對VSCode遠(yuǎn)程無法連接問題感興趣的朋友一起看看吧
    2024-03-03
  • 教你免費(fèi)做一個(gè)屬于自己穩(wěn)定有效的圖床-PicGo

    教你免費(fèi)做一個(gè)屬于自己穩(wěn)定有效的圖床-PicGo

    由于現(xiàn)在很多寫作平臺都支持了Markdown語法,導(dǎo)致圖床用的人越來越多。這篇文章主要介紹了如何免費(fèi)做一個(gè)屬于自己穩(wěn)定有效的圖床-PicGo,需要的朋友可以參考下
    2020-01-01
  • OAuth 2.0 概念及授權(quán)流程梳理

    OAuth 2.0 概念及授權(quán)流程梳理

    這篇文章主要介紹了OAuth 2.0 概念及授權(quán)流程梳理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 一文帶你了解ChatGPT?API的使用

    一文帶你了解ChatGPT?API的使用

    ChatGPT是OpenAI公司開發(fā)的一款基于自然語言處理技術(shù)的對話生成模型,,能夠自動學(xué)習(xí)自然語言數(shù)據(jù)的特征,并生成高質(zhì)量的語言文本。本文將為大家來介紹一下ChatGPT的API使用,希望對大家有所幫助
    2023-02-02

最新評論

岐山县| 北票市| 娄底市| 威海市| 绥棱县| 新丰县| 三穗县| 石楼县| 上栗县| 孝昌县| 宁阳县| 石棉县| 方山县| 塘沽区| 出国| 锡林郭勒盟| 蓬溪县| 洛浦县| 和政县| 寿阳县| 武邑县| 定日县| 泽库县| 绵阳市| 通许县| 东乌珠穆沁旗| 濮阳县| 阿鲁科尔沁旗| 永康市| 天台县| 庄河市| 广河县| 太康县| 晋城| 万盛区| 佛山市| 巍山| 汨罗市| 廊坊市| 中山市| 屏边|