Knowing Your Package Manager
With three different package managers, an ASP.NET Core project might seem like a busy place, however each package manager fulfills a specialized need. Choosing between package managers means picking the right tool for the job. In the case of ASP.NET Core, that job can be Node-based JavaScript tooling, client-side development libraries, or server-side .NET application components.
npm (Node Package Manager) is a JavaScript package manager. npm packages are commonly for Node.js and Node-based tools like Grunt and Gulp. Bower was designed to for use with front-end development packages. Ideally these are items that will be deployed with the application, like Bootstrap, for instance. NuGet is the package manager for .NET. From .NET Core and Visual Studio 2015 and forward, NuGet should be primarily used for installing .NET application components.
Package Manager | Responsibility |
---|---|
NPM | JavaScript (node.js) tooling |
Bower | Client-side Development |
NuGet | .NET Application components |
You can learn more about how these package managers are used, along with each of the new task runners available in .NET Core by checking out the full article “CSS Preprocessing with Visual Studio” on the Telerik Developer Network.