Rumah  >  Artikel  >  hujung hadapan web  >  Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web.

Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web.

WBOY
WBOYasal
2023-07-29 17:19:501210semak imbas

Gabungan Vue.js dan ASP.NET, petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web

Dengan perkembangan pesat aplikasi web, pengoptimuman prestasi telah menjadi tugas yang amat diperlukan dan penting untuk pembangun. Sebagai rangka kerja bahagian hadapan yang popular, Vue.js digabungkan dengan ASP.NET boleh membantu kami mencapai pengoptimuman dan pengembangan prestasi yang lebih baik. Artikel ini akan memperkenalkan beberapa petua dan cadangan, serta memberikan beberapa contoh kod.

1. Kurangkan permintaan HTTP
Bilangan permintaan HTTP secara langsung mempengaruhi kelajuan pemuatan aplikasi web. Dengan menggunakan alatan seperti Webpack untuk membungkus projek dan menggabungkan komponen Vue, fail gaya dan fail skrip ke dalam satu atau sebilangan kecil fail, bilangan permintaan HTTP boleh dikurangkan, dengan itu meningkatkan kelajuan pemuatan halaman.

2. Malas memuatkan
Untuk aplikasi web yang besar, memuatkan komponen Vue atas permintaan ialah kaedah pengoptimuman yang baik. Pemuatan malas boleh dicapai melalui komponen asynchronous vue-router dan fungsi pemisahan kod Webpack. Berikut menggunakan contoh untuk menunjukkan pelaksanaan pemuatan malas:

import Vue from 'vue'
import Router from 'vue-router'

// 异步加载组件
const Home = () => import('./views/Home.vue')
const About = () => import('./views/About.vue')
const Contact = () => import('./views/Contact.vue')

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/about',
      name: 'about',
      component: About
    },
    {
      path: '/contact',
      name: 'contact',
      component: Contact
    }
  ]
})

3. Perenderan sisi pelayan (SSR)
SSR ialah teknik pengoptimuman yang boleh meningkatkan kelajuan pemuatan skrin pertama aplikasi web dan meningkatkan SEO. Vue.js dan ASP.NET Core boleh digabungkan dengan baik untuk mencapai pemaparan sebelah pelayan. Berikut ialah contoh pelaksanaan SSR menggunakan Vue.js dan ASP.NET Core:

Mula-mula, gunakan vue-server-renderer pada bahagian pelayan untuk pemaparan.

// 引入相关的命名空间
using Microsoft.AspNetCore.Mvc;
using VueCliMiddleware;

public class HomeController : Controller
{
    // GET: /
    public IActionResult Index()
    {
        return View(new { Message = "Hello from server!" });
    }

    // GET: /vue/{*url}
    public IActionResult Vue(string url)
    {
        return View(new { Message = "Hello from server!" });
    }
}

Kemudian, konfigurasikannya pada bahagian pelayan dan mulakan perkhidmatan Vue.

public class Startup
{
    // ...
    
    public void ConfigureServices(IServiceCollection services)
    {
        // ...

        services.AddSpaPrerenderer(options =>
        {
            options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.js";
            options.ExcludeUrls = new[] { "/sockjs-node" };
        });
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        // ...

        app.UseSpa(spa =>
        {
            spa.Options.SourcePath = "ClientApp";

            if (env.IsDevelopment())
            {
                spa.UseVueCli(npmScript: "serve", regex: "Compiled successfully");
            }
            else
            {
                spa.UseSpaPrerendering();
            }
        });

        // ...
    }
    
    // ...
}

Dengan menggunakan SSR, anda boleh mengurangkan kerja pemaparan pada bahagian penyemak imbas dan meningkatkan prestasi dan kebolehpercayaan keseluruhan aplikasi web.

4. Gunakan caching
Untuk beberapa data statik atau kurang berubah, kami boleh menggunakan caching pada bahagian pelayan untuk mengurangkan beban pada pangkalan data dan meningkatkan kelajuan tindak balas. ASP.NET menyediakan mekanisme caching, dan kami boleh cache hasil pemaparan komponen Vue dengan mudah. Berikut ialah contoh:

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Memory;
using VueCliMiddleware;

public class HomeController : Controller
{
    private readonly IMemoryCache _cache;

    public HomeController(IMemoryCache cache)
    {
        _cache = cache;
    }

    // GET: /vue/home
    public IActionResult GetHome()
    {
        var cacheKey = "home_page";
        var html = _cache.Get<string>(cacheKey);

        if (html != null)
        {
            return Content(html);
        }

        var options = new VueCliMiddlewareOptions{ NpmScript = "build" };
        var request = new DefaultHttpContext().Request;
        var response = new DefaultHttpContext().Response;

        var runner = new VueCliMiddlewareRunner(options, request.Path.Value, response.StatusCode);

        html = runner.Invoke();

        if (response.StatusCode == 200)
        {
            _cache.Set(cacheKey, html, TimeSpan.FromMinutes(10));
        }

        return Content(html);
    }
}

Menggunakan caching boleh mengurangkan beban pada pelayan dengan berkesan dan meningkatkan prestasi serta pengalaman pengguna aplikasi web.

Ringkasnya, gabungan Vue.js dan ASP.NET boleh membantu kami mencapai pengoptimuman prestasi dan pengembangan aplikasi web. Dengan mengurangkan permintaan HTTP, pemuatan malas, pemaparan sebelah pelayan dan menggunakan teknik cache, kelajuan pemuatan dan prestasi aplikasi web boleh dipertingkatkan dan aplikasi boleh dibuat lebih fleksibel dan berskala. Saya harap petua dan nasihat yang diberikan dalam artikel ini akan membantu usaha pembangunan anda.

(Nota: Kod dalam contoh dalam artikel ini adalah versi ringkas dan perlu diperbaiki dan diselaraskan mengikut keperluan sebenar dalam aplikasi sebenar)

Atas ialah kandungan terperinci Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn