Run Grunt task in Visual Studio Release Build with a bat file
Posted
by Aligned
on Geeks with Blogs
See other posts from Geeks with Blogs
or by Aligned
Published on Tue, 19 Aug 2014 06:21:02 GMT
Indexed on
2014/08/19
22:21 UTC
Read the original article
Hit count: 229
Originally posted on: http://geekswithblogs.net/Aligned/archive/2014/08/19/run-grunt-task-in-visual-studio-release-build-with-a.aspx
1. Add a BeforeBuild in your csproj file. Edit the xml with a text editor.
<Target Name="BeforeBuild"> <Exec Condition="'$(Configuration)' == 'Release'" Command="script-optimize.bat" /> </Target>
2. Create the script-optimize.bat
REM "%~dp0" maps to the directory where this file exists cd %~dp0\..\YourProjectFolder call npm uninstall grunt call npm uninstall grunt call npm install --cache-min 604800 -g grunt-cli call npm install --cache-min 604800 grunt typescript requirejs copy less:compile less:mincompile
This grunt command will compile typescript, run the requireJs optimizer, complie and minimize less.
3. Make it use the minified code when the Web.config compilation debug is set to false
<!-- These CustomCollectFiles actions are used so that the Scripts-Release folder/files are included
when publishing even though they are not project references -->
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="Scripts-Release\**\*" />
</ItemGroup>
</Target>
That should be all you need to get a Grunt task to minify and combine JS (plus other tasks) in Visual Studio Release build with debug = false.
This is a great video of Steve Sanderson talking about SPAs, npm, Knockout, Grunt, Gulp, ect. I highly recommend it.
© Geeks with Blogs or respective owner