Làm việc với các dịch vụ spa trong .NetCore 3.0?


9

Tôi phát triển ứng dụng web SPA bằng cách sử dụng ASP.Net Core React + Redux.

Sau khi cập nhật lên .Net Core 3.0, tôi thấy rằng UseWebpackDevMiddleware và AddNodeService đã lỗi thời.

Tôi tìm hiểu React + Redux mẫu dự án mới, nhưng nó không sử dụng webpack hoặc SSR.

1) Nơi tôi có thể tìm thấy ví dụ hoặc thông tin công việc với gói web trong .Net Core 3.0? với UseWebpackDevMiddleware thực sự dễ dàng để cấu hình xây dựng HMR và webpack.

2) Nơi tôi có thể tìm thấy ví dụ hoặc thông tin về SSR với .Net 3.0 + React?

Câu trả lời:


4

Tôi cảm thấy mình ở cùng một chiếc thuyền với chính mình !!! Đã trải qua tuần trước kể từ khi phát hành chính thức dotnetcore3, tôi đã cố gắng để có được một cái gì đó và chạy bằng cách sử dụng khung SPA.

Do chưa có câu trả lời cho điều này và tôi rất muốn có các dịch vụ SPA chạy cho aspnetcore3tôi đã xem xét các mẫu khác nhau được cung cấp trong Visual Studio. Hiện tại các mẫu đang AngularReactsử dụng aspnetcore3.

Trước đó, có các mẫu cho Angular, Reactvà cũng có Aurelia. Đối với tôi Aurelia trông thật tuyệt - các ràng buộc bản thảo vanilla. Vì vậy, tôi đang cố gắng đi xuống tuyến đường đó.

Tôi quản lý để làm cho HMR(Thay thế mô-đun nóng) làm việc. Tôi đã xây dựng một dự án Aurelia bằng CLI. Tuy nhiên, dự án của tôi có rất nhiều cấu hình, và tôi vẫn đang học WebPack. HMR hiện không hoạt động với Aurelia CSS.

Đối với kịch bản của tôi, tôi đã tải ứng dụng khách trong Mã VS. Tôi đã tạo một dự án lõi aspnet mà sau đó móc vào webpack.

Tôi biết bạn đang hỏi cụ thể về React, nhưng khái niệm này có thể giống nhau.

Một số mã

Bạn có thể tìm thấy mã của tôi ở đây:

https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app

LƯU Ý: Hiện tại tôi chỉ bán đồ vào repo này. Có những dự án được tạo từ các mẫu nếu bạn điều hướng đến cấp cao nhất.

Sử dụng

  1. Mở thư mục spa-apps\aurelia-cli\e1\aurelia-apptrongVSCode
  2. Mở project.csprojtrongVS2019
  3. Mở một thiết bị đầu cuối trong VSCodevà chạy npm start -- --hmrvà chờ cho đầu ra hoàn thành.
  4. Biên dịch và chạy giải pháp trong VS2019

Điều này sẽ mở trình duyệt mặc định và tải index.ejs.

Những điều cần lưu ý

Số cổng trong dự án dotnet và dự án aurelia phải liên kết.

Startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    ...
    app.UseSpa(spa =>
    {

        if (env.IsDevelopment())
        {
            spa.UseProxyToSpaDevelopmentServer("http://localhost:5000");
        }
    });
}

aurelia.json

  "platform": {
    "hmr": false,
    "open": false,
    "port": 5000,
    "host": "localhost",
    "output": "wwwroot/dist"
  },

Vì vậy, có lẽ đây là khái niệm giống như React. Vì một số lý do, mẫu React của tôi không kết nối được với IIS Express - và nó đã hoạt động vào ngày khác - vì vậy không thực sự ở vị trí để đi đào.

Đối với tôi, dự án này có rất nhiều bộ phận chuyển động. Tôi ước tôi có một giải pháp làm việc tối thiểu - bao gồm webpack + scss + một số khung spa + dotnetcore3. Nhưng có rất nhiều cấu hình và rất nhiều tập tin.

Các liên kết khác

Ngoài ra nó có thể đáng để kiểm tra bài đăng blog này:

https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/

Tìm hiểu thêm về aurelia ở đây:

https://aurelia.io/

Hy vọng ai đó sẽ cho bạn một câu trả lời tốt hơn - nhưng điều này có thể giúp bạn đi. Hy vọng Microsoft sẽ cập nhật các tài liệu và ví dụ và cung cấp cho chúng tôi một số hướng dẫn tốt hơn.

cập nhật mẫu dotnet (tháng 4 năm 2020)

Tôi hy vọng các mẫu được cập nhật có thể khắc phục sự khác biệt của lõi aspnet / lõi dotnet với webpack. Vì vậy, hy vọng đó là một trường hợp kéo theo các mẫu mới.

Xem tại đây:

https://github.com/NetCoreTemsheet/aurelia-spa

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.