Embora a resposta de Liviu Costea esteja correta, ainda levei algum tempo para descobrir como isso é realmente feito. Portanto, aqui está meu guia passo a passo começando com um novo projeto ASP.NET 4.5.2 MVC. Este guia inclui o gerenciamento de pacotes do lado do cliente usando bower, mas (ainda) não cobre bundling / grunt / gulp.
Etapa 1 (Criar Projeto)
Crie um novo projeto ASP.NET 4.5.2 (modelo MVC) com o Visual Studio 2015.
Etapa 2 (Remover Empacotamento / Otimização do Projeto)
Etapa 2.1
Desinstale os seguintes pacotes Nuget:
- bootstrap
- Microsoft.jQuery.Unobstrusive.Validation
- jQuery.Validation
- jQuery
- Microsoft.AspNet.Web.Optimization
- WebGrease
- Antlr
- Modernizr
- Responder
Etapa 2.2
Remova App_Start\BundleConfig.cs
do projeto.
Etapa 2.3
Remover
using System.Web.Optimization;
e
BundleConfig.RegisterBundles(BundleTable.Bundles);
de Global.asax.cs
Etapa 2.4
Remover
<add namespace="System.Web.Optimization"/>
de Views\Web.config
Etapa 2.5
Remova as amarrações do conjunto para System.Web.Optimization
e WebGrease
deWeb.config
Etapa 3 (adicionar caramanchão ao projeto)
Etapa 3.1
Adicionar novo package.json
arquivo ao projeto ( NPM configuration file
modelo de item)
Etapa 3.2
Adicionar bower
a devDependencies
:
{
"version": "1.0.0",
"name": "ASP.NET",
"private": true,
"devDependencies": {
"bower": "1.4.1"
}
}
O pacote bower é instalado automaticamente quando package.json
é salvo.
Etapa 4 (configurar bower)
Etapa 4.1
Adicionar novo bower.json
arquivo ao projeto ( Bower Configuration file
modelo de item)
Etapa 4.2
Adicionar bootstrap
, jquery-validation-unobtrusive
, modernizr
e respond
a dependências:
{
"name": "ASP.NET",
"private": true,
"dependencies": {
"bootstrap": "*",
"jquery-validation-unobtrusive": "*",
"modernizr": "*",
"respond": "*"
}
}
Esses pacotes e suas dependências são instalados automaticamente quando bower.json
é salvo.
Etapa 5 (modificar Views\Shared\_Layout.cshtml
)
Etapa 5.1
Substituir
@Styles.Render("~/Content/css")
com
<link rel="stylesheet" href="~/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/Content/Site.css" />
Etapa 5.2
Substituir
@Scripts.Render("~/bundles/modernizr")
com
<script src="~/wwwroot/lib/modernizr/modernizr.js" ></script>
Etapa 5.3
Substituir
@Scripts.Render("~/bundles/jquery")
com
<script src="~/wwwroot/lib/jquery/dist/jquery.min.js"></script>
Etapa 5.4
Substituir
@Scripts.Render("~/bundles/bootstrap")
com
<script src="~/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="~/wwwroot/lib/respond/dest/respond.min.js"></script>
Etapa 6 (modificar outras fontes)
Em todas as outras visualizações, substitua
@Scripts.Render("~/bundles/jqueryval")
com
<script src="~/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
Links Úteis
Empacotamento e redução
Nos comentários abaixo, LavaHot recomenda a extensão Bundler & Minifier como um substituto para o bundler padrão, que removo na etapa 2. Ele também recomenda este artigo sobre empacotamento com Gulp.
bower.json
arquivo por meio do Visual Studio 2015, ele também cria automaticamente umbowerrc
arquivo, que substitui o local padrão para as instalações do bower debower_components
parawwwroot/lib
Na verdade, não é muito diferente. Acontece que há um suporte melhor para tudo isso dentro do Visual Studio, por exemplo, quando você adiciona novos itens, você tem modelos para arquivos de configuração bower ou npm. Além disso, você tem modelos para arquivos de configuração gulp ou grunt.
Mas a chamada de fato de tarefas grunt / gulp e vinculando-as a eventos de construção ainda é feito com o Task Runner Explorer, assim como no VS 2013.
fonte