나는 내가 당신과 같은 보트에 있다고 느낀다! !! dotnetcore3의 공식 출시 이후 지난 주 정도를 보냈지 만 SPA 프레임 워크를 사용하는 무언가를 준비하려고했습니다.
이에 대한 답변이 없었기 때문에 aspnetcore3
Visual Studio에서 제공되는 다양한 템플릿을 살펴보면서 SPA 서비스를 실행하고 싶습니다. 현재 템플릿입니다 Angular
및 React
그 사용 aspnetcore3
.
이전에는이에 대한 템플릿이 있습니다 Angular
, React
또한하고 Aurelia
. 나를 위해 Aurelia는 멋지게 보입니다-바닐라 타입 스크립트 바인딩. 그래서 나는 그 길을 내려 가려고 노력하고 있습니다.
나는 그럭저럭 HMR
(핫 모듈 교체) 작업을. CLI를 사용하여 Aurelia 프로젝트를 빌드했습니다. 그러나 내 프로젝트에는 많은 구성이 있으며 여전히 배우고 WebPack
있습니다. HMR은 현재 Aurelia CSS에서 작동하지 않습니다.
내 시나리오의 경우 클라이언트 응용 프로그램을 VS 코드로로드했습니다. aspnet 핵심 프로젝트를 만든 다음 webpack에 연결했습니다.
나는 당신이 React에 대해 특별히 묻는 것을 알고 있지만 개념은 동일 할 수 있습니다.
일부 코드
내 코드는 여기에서 찾을 수 있습니다.
https://github.com/andez2000/spa-apps/tree/master/aurelia-cli/e1/aurelia-app
참고 : 현재이 저장소에 물건을 버리고 있습니다. 최상위 레벨로 이동하면 템플리트에서 작성된 프로젝트가 있습니다.
용법
- 폴더를 열어
spa-apps\aurelia-cli\e1\aurelia-app
에서VSCode
- 열기
project.csproj
의를VS2019
- 터미널을 열고
VSCode
실행 한 npm start -- --hmr
후 출력이 완료 될 때까지 기다리십시오.
- 에서 솔루션을 컴파일하고 실행하십시오.
VS2019
기본 브라우저가 열리고 index.ejs가로드됩니다.
참고 사항
dotnet 프로젝트와 aurelia 프로젝트의 포트 번호는 연결되어야합니다.
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"
},
아마도 이것은 개념적으로 React와 같습니다. 어떤 이유로 든 React 템플릿이 IIS Express에 연결하지 못하고 다른 날에는 작동했기 때문에 실제로는 파고 들지 않았습니다.
나 에게이 프로젝트에는 많은 움직이는 부분이 있습니다. webpack + scss + 일부 스파 프레임 워크 + dotnetcore3으로 구성된 최소 작업 솔루션을 원합니다. 그러나 많은 구성과 많은 파일이 있습니다.
다른 링크들
또한이 블로그 게시물을 확인하는 것이 좋습니다.
https://www.alexdresko.com/2019/07/09/htmlwebpackplugin-asp-net-core-3/
aurelia에 대한 자세한 내용은 여기를 참조하십시오.
https://aurelia.io/
누군가가 더 나은 답변을 줄 수 있기를 바랍니다. Microsoft가 문서와 예제를 업데이트하고 더 나은 지침을 제공하기를 바랍니다.
닷넷 템플릿 업데이트 (2020 년 4 월)
업데이트 된 템플릿이 웹 팩의 aspnet 코어 / 닷넷 코어 차이점을 극복하기를 바랍니다. 따라서 새로운 템플릿을 가져 오기를 희망합니다.
여기를 봐:
https://github.com/NetCoreTemplates/aurelia-spa