NuGet scripts to different directory

NugetNuget Package

Nuget Problem Overview


Nuget packages download Javascript files to ~/Scripts

I prefer to keep my content organized in a ~/content folder, which contains

~/content/css
~/content/images
~/content/scripts
~/content/scripts/vendor (for packages/ downlaoded scripts)
~/content/scripts/site (my own site's JS)

How do I make Nuget download Javascript files to ~/content/scripts/vendor?

Nuget Solutions


Solution 1 - Nuget

At the moment, NuGet doesn't support installing packages resources elsewhere than the default location. There's an existing NuGet work item that would cover this feature : #1914 - Allow package resource folders to be configurable.

Solution 2 - Nuget

Not really an 'answer', but worth noting: With the shift of managing front-end libraries to Bower, I don't expect work item #1914 will ever be implemented. I'd highly recommend to look into how you can use the combination of NPM, Bower and Grunt to achieve your custom folder structure.

If you had an early look at VS2015, you'll notice that's the new recommended way for your project set-up and maintenance.

Bower > Dependency management tool used for managing front end components writting in html, css, jss (e.g. Bootstrap, Knockout, Angular, moment, lightboxes, gallery libraries, ...)

NPM > Dependency management tool used for managing node js modules

Grunt > Grunt is a javascript task runner tool. You can do a lot of things using grunt which you had to do manually otherwise: compiling files, linting files, moving files, ...

Difference between above three explained in detail here: https://stackoverflow.com/questions/21198977/difference-between-grunt-npm-and-bower-package-json-vs-bower-json

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionreach4thelasersView Question on Stackoverflow
Solution 1 - NugetAlexandre DionView Answer on Stackoverflow
Solution 2 - NugetGigi2m02View Answer on Stackoverflow