24.1. 새로운 프로젝트 시스템 (더 새로워 져서…1.1 =_=)
로즐린(Roslyn)에 의하여 동적 컴파일이 가능하다. 수정 즉시 반영된다.
- global.json – Core 1.1에서 변경됨
- project.json – Core 1.1에서 변경됨
- wwwroot – 웹 사이트의 root 폴더. 외부에서는 wwwroot에 올려진 파일들만 서비스가 된다.
- Startup.cs – 응용프로그램의 시작점
- appsettings.json – ASP.NET의 Web.config 파일과 동일한 기능으로, 환경 설정 파일. 주로 Startup.cs 에서 ConfigureServices() 메서드에서 사용되어 진다.
- bundleconfig.json – Visual Studio의 확장도구인 Bundler & Minifier 에서 사용되어 진다. CSS 또는 javascript 파일을 축소하거나 합칠수 있다고 한다. 이러한 작업의 설정들이 이 파일에 저장된다.
- 모던 웹 개발 도구들
- NPM – Node.js 관련 패키지 매니저
- Bower – CSS, javascript, Image, Font 등 정적인 파일 관련 패키지 매니저
- Gulp – 태스크 러너. javascript 코드를 축소하거나 난독화 처리할때 사용
24.2. 실습 (뭐 없음…)
24.3. HTTP 파이프라인과 미들웨어
각종 미들웨어를 파이프라인에 등록해서 사용할 수 있다.
24.4. 정적 파일 실행을 위한 UseStaticFiles() 미들웨어 추가
wwwroot 폴더에 위치한 정적파일들을 실행하기 위한 미들웨어
IWebHostBuilder.UseContentRoot(Directory.GetCurrentDirectory())
이 메서드 호출로 인하여 wwwroot폴더가 루트폴더가 된다.
Startup.cs 파일의 Configure() 메서드에 IApplicationBuilder.UseStaticFiles()를 호출해야 한다.
IApplicationBuilder.UseFileServer()를 호출해도 된다. (좀 더 추가기능이 포함되어 있다.)
24.5. 실습
Microsoft.AspNetCore.StaticFiles 패키지가 설치되어 있는지 확인하려면 Visual Studio의 솔루션탐색기에서 해당 프로젝트의 Dependencies 하위 노드의 Nuget을 확인한다.
프로젝트면.csproj 파일을 텍스트편집기로 열어보면
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" /> </ItemGroup>
가 있는것을 확인할 수 있다.
별도의 경로에 정적파일을 위한 폴더를 추가하려면,
//app.UseStaticFiles(); app.UseStaticFiles(new StaticFileOptions { FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")), RequestPath = new PathString("/StaticFiles"), }); // 실제 디렉토리명은 'MyStaticFiles'이고, 웹 경로는 '/StaticFiles' 이다.
24.6. 주요 미들웨어
- UseDirectoryBrowser() – 디렉터리 목록 보기
- UseDefaultFiles() – 기본 문서 제공
- UseStatusCodePages() – 상태 코드 표시
- UseWelcomePage() – 환영 페이지 출력
- UseDeveloperExceptionPage() – 자세한 에러 메시지 표시
- UseFileServer() – UseDefaultFiles(), UseStaticFiles(), UseDirectoryBrowser() 기능 모두를 한번에 호출하는 메서드
. 참고자료
https://www.slideshare.net/SeongBaeHong/aspnet-core-78230249
– ASP.NET Korea Study Group
[embeddoc url=”http://192.168.10.240:8080/wp-content/uploads/2017/07/ASP.NET-Core-1.0-웹-응용-프로그램-프로젝트.pdf” download=”all”] – ASP.NET Korea Study Group, 안지오