Saltar al contenido

¿Cómo puedo usar @Scripts.Render con la aplicación .Net Core 2.0 MVC?

Al fin luego de tanto batallar hemos encontrado la solución de este contratiempo que ciertos los lectores de esta web han presentado. Si deseas aportar algo más no dejes de compartir tu conocimiento.

Solución:

En ASP.Net MVC Core, eliminaron BundleConfig.cs y lo reemplazaron con el archivo bundleconfig.json. debe especificar su paquete y lógica de minificación en bundleconfig.json. Si no tiene este archivo en su proyecto, agregue el archivo json con este nombre.

paqueteconfig.json

El contenido de este archivo debería gustar a continuación.

  // Configure bundling and minification for the project.
// More info at https://go.microsoft.com/fwlink/?LinkId=808241
[
  
    "outputFileName": "wwwroot/css/site.min.css",
    // An array of relative input file paths. Globbing patterns supported
    "inputFiles": [
      "wwwroot/css/site.css"
    ]
  ,
  
    "outputFileName": "wwwroot/js/bundles.min.js",
    "inputFiles": [
      "wwwroot/js/site.js",
      "wwwroot/lib/jquery/dist/jquery.js",
      "wwwroot/lib/jquery/dist/jqueryvalidate.js"
    ],
    // Optionally specify minification options
    "minify": 
      "enabled": true,
      "renameLocals": true
    ,
    // Optionally generate .map file
    "sourceMap": false
  
]

_Diseño.cshtml

 

Lea los documentos de Microsoft relacionados con la agrupación y la minificación para comprender mejor la agrupación y la minificación en asp.net core mvc

Como se indica en la otra respuesta, el BundleConfig.cs se ha ido. sin embargo, el @Scripts.Render() tuvo algunos buenos casos de uso y no es una buena idea reemplazarlo con static . En algunos casos en los que solo desea vincular bibliotecas en algunas páginas, no en todas, no desea repetir el mismo código una y otra vez, especialmente cuando vincula bibliotecas en CDN con respaldos. Así que aquí hay un buen enfoque que utilizo para reemplazar el viejo bien @Scripts.Render():

Primero cree una vista parcial para sus bibliotecas. Puede combinar los que usa juntos en la misma vista si lo desea. Piénselo como si estuviera creando paquetes en BundleConfig.cs. Por ejemplo, puede crear una vista para la validación jQuery como esta:


    
    


    
    

Puedes llamarlo algo como _ValidationScriptsPartial.cshtml.

Ahora, en las páginas donde necesita la validación, puede inyectar la vista parcial de esta manera:

@section Scripts 
    @ await Html.RenderPartialAsync("_ValidationScriptsPartial"); 

Por supuesto, para aquellas bibliotecas que se requieren en todas las páginas (como jQuery y Bootstrap), puede inyectarlas directamente en _Layout.cshtml como esto:




    ...
    @await Html.PartialAsync("_LayoutHeadScriptsPartial")


    ...
    @RenderBody()
    ...
    @await Html.PartialAsync("_LayoutFooterScriptsPartial")
    @RenderSection("scripts", required: false)


Comentarios y calificaciones del post

Puedes añadir valor a nuestra información colaborando tu veteranía en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *