반응형
서론
웹 사이트 개발을 하다보면 정적 콘텐츠들이 많이 생기게 된다.
웹 사이트의 특성상 많은 정적 콘텐츠들을 요청하게 되면 그만큼 속도가 느려지게 된다.
해당 글은 AjaxMin을 활용하여 정적 콘텐츠들을 경량화시켜 웹 사이트의 속도를 향상시킬 수 있는 방법을 설명하였다.
참고 : AjaxMin은 경량화가 목적이지 머지(병합)의 목적이 아니다.
닷넷프레임워크는 기본적으로 번들이라는 기능을 제공하여 설정에 따라 머지가 자동적으로 이루어 진다.
내용
1. NuGet Package Manager를 통해 AjaxMin을 설치한다.
Install-Package AjaxMin
2. 프로젝트를 언로드한다.
3. 프로젝트명.csproj를 열어서 아래와 같이 수정한다.
<Project> 영역의 마지막에 AfterBuild 코드를 추가한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <UsingTask TaskName="AjaxMin" AssemblyFile="$(SolutionDir)packages\AjaxMin.5.14.5506.26202\tools\net40\AjaxMinTask.dll" /> <Target Name="AfterBuild"> <PropertyGroup> <DestinationPath>$(ProjectDir)publish</DestinationPath> </PropertyGroup> <ItemGroup> <JS Include="**\*.js" Exclude="publish\**\*.js;obj\**\*.js" /> <CSS Include="**\*.css" Exclude="publish\**\*.css;obj\**\*.css" /> </ItemGroup> <Copy SourceFiles="@(JS)" DestinationFiles="@(JS -> '$(DestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')" Condition="'%(Extension)'=='.js'"> <Output ItemName="JavaScriptFiles" TaskParameter="DestinationFiles" /> </Copy> <Copy SourceFiles="@(CSS)" DestinationFiles="@(CSS -> '$(DestinationPath)\%(RecursiveDir)%(Filename)%(Extension)')" Condition="'%(Extension)'=='.css'"> <Output ItemName="CssFiles" TaskParameter="DestinationFiles" /> </Copy> <AjaxMin JsSourceFiles="@(JavaScriptFiles)" JsSourceExtensionPattern="\.src.js$" JsTargetExtension=".js" CssSourcefiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".css"></AjaxMin> </Target> |
4. 프로젝트를 다시 로드하고 빌드를 해보면 위에서 설정한 디렉토리에 경량화가 된 정적 콘텐츠들을 확인할 수 있다.
반응형
'Development 와 IT > ASP.NET' 카테고리의 다른 글
[ASP.NET] VS2017 IIS Express 가상디렉터리 설정 방법 (0) | 2021.05.30 |
---|---|
[ASP.NET MVC] WebGrid 예제 (0) | 2020.11.20 |