Quiero actualizar Bootstrap en ASP.NET Núcleo con NuGet. He utilizado este:

Install-Package bootstrap -Version 4.0.0

Lo hizo agregar las dependencias, pero ¿cómo puedo añadir a mi proyecto ahora? ¿Cuál es la ruta de acceso local de NuGet dependencias?

Cómo utilizar Bootstrap 4 en ASP.NET Core

InformationsquelleAutor developer | 2018-01-27

10 Comentarios

  1. 182

    Como otros ya mencionados, el gestor de paquetes Bower, que se utiliza generalmente para las dependencias como esta en la aplicación que no dependen de la pesada secuencias de comandos de cliente, es en el camino de salida y activamente recomendar para pasar a otras soluciones:

    ..psst! Mientras Bower se mantiene, recomendamos hilo y webpack para el nuevo front-end proyectos!

    Así que, aunque todavía se puede utilizar ahora mismo, Bootstrap también ha anunciado a colocar el soporte para el mismo. Como resultado, la incorporada en el ASP.NET Núcleo de plantillas lentamente están siendo editado a alejarse de ella también.

    Lamentablemente, no hay una ruta clara hacia delante. Esto es principalmente debido al hecho de que las aplicaciones web están avanzando continuamente en el lado del cliente, que requieren complejas del lado del cliente construir sistemas y muchas dependencias. Así que si usted está construyendo algo como eso, usted ya sabe cómo solucionar esto, entonces, y usted puede ampliar su actual proceso de construcción para simplemente incluir también Bootstrap y jQuery allí.

    Pero todavía hay muchas aplicaciones web por ahí que no son pesados en el lado del cliente, donde la aplicación se ejecuta principalmente en el servidor y el servidor sirve vistas estáticas como resultado. Bower previamente cargada, esto por lo que es fácil acaba de publicar el lado del cliente de las dependencias sin que gran parte de un proceso.

    En el .RED mundial también tenemos NuGet y con los anteriores ASP.NET versiones, podríamos usar NuGet así como a añadir las dependencias a algunos del lado del cliente dependencias desde NuGet acaba de colocar el contenido en nuestro proyecto correctamente. Por desgracia, con la nueva .csproj formato y la nueva NuGet, los paquetes instalados se encuentran fuera de nuestro proyecto, por lo que no podemos hacer referencia a aquellos.

    Esto nos deja con pocas opciones para agregar nuestras dependencias:

    Un tiempo de instalación

    Esto es lo que el ASP.NET Núcleo de plantillas, que no son de una sola página de aplicaciones, que se está haciendo actualmente. Cuando se utilizan estos para crear una nueva aplicación, la wwwroot carpeta contiene simplemente una carpeta lib que contiene las dependencias:

    Cómo utilizar Bootstrap 4 en ASP.NET Core

    Si usted mira de cerca a los archivos en la actualidad, se puede ver que originalmente fueron colocados allí con Bower para crear la plantilla, pero eso puede cambiar pronto. La idea básica es que los archivos se copian una vez a la wwwroot carpeta, de modo que usted puede depender de ellos.

    Para ello, podemos simplemente seguir Bootstrap de la introducción y descargar los archivos compilados directamente. Como se mencionó en el sitio de descarga, esto no incluye jQuery, así que tenemos que descargar por separado; eso contiene Popper.js aunque si elegimos utilizar el bootstrap.bundle archivo más adelante—que vamos a hacer. Para jQuery, podemos conseguir simplemente un solo comprimido, la producción de» archivo de el sitio de descarga.

    Esto nos deja con un par de archivos que simplemente descomprimir y copiar en la wwwroot carpeta. También podemos hacer un lib carpeta para dejar claro que estos son dependencias externas:

    Cómo utilizar Bootstrap 4 en ASP.NET Core

    Que es todo lo que necesitamos, así que ahora sólo tenemos que ajustar nuestro _Layout.cshtml archivo para incluir esas dependencias. Para eso, tenemos que añadir el siguiente bloque a la <head>:

    <environment include="Development">
        <link rel="stylesheet" href="~/lib/css/bootstrap.css" />
    </environment>
    <environment exclude="Development">
        <link rel="stylesheet" href="~/lib/css/bootstrap.min.css" />
    </environment>

    Y el siguiente bloque en el extremo de la <body>:

    <environment include="Development">
        <script src="~/lib/js/jquery-3.3.1.js"></script>
        <script src="~/lib/js/bootstrap.bundle.js"></script>
    </environment>
    <environment exclude="Development">
        <script src="~/lib/js/jquery-3.3.1.min.js"></script>
        <script src="~/lib/js/bootstrap.bundle.min.js"></script>
    </environment>

    También puede incluir el record de versiones y saltar la <environment> etiqueta de ayudantes aquí para hacer un poco más simple. Pero eso es todo lo que necesita hacer para mantener el punto de partida.

    Dependencias del MECANISMO nacional de prevención

    La manera más moderna, también si desea mantener sus dependencias actualizado, sería lograr que las dependencias de la NPM repositorio de paquetes. Usted puede utilizar cualquiera de los mecanismos nacionales de prevención o Hilo para esto; en mi ejemplo, voy a usar NPM.

    Para empezar, tenemos que crear un package.json archivo de nuestro proyecto, por lo que puede especificar de nuestras dependencias. Para ello, simplemente debemos hacerlo desde la opción «Agregar Nuevo Elemento» diálogo:

    Cómo utilizar Bootstrap 4 en ASP.NET Core

    Una vez que tengamos eso, tenemos que editar para incluir nuestras dependencias. Es algo parecido a este:

    {
      "version": "1.0.0",
      "name": "asp.net",
      "private": true,
      "devDependencies": {
        "bootstrap": "4.0.0",
        "jquery": "3.3.1",
        "popper.js": "1.12.9"
      }
    }

    Por el ahorro, Visual Studio ya NPM para instalar las dependencias para nosotros. Van a ser instalados en el node_modules carpeta. Así que lo que queda por hacer es conseguir los archivos de allí en nuestro wwwroot carpeta. Hay un par de opciones para hacerlo:

    bundleconfig.json por la paquetización y la minificación

    Podemos usar una de las diversas formas de consumir un bundleconfig.json por la paquetización y la minificación, como se explica en la documentación. Una manera muy fácil es utilizar simplemente el BuildBundlerMinifier paquete de NuGet que configura automáticamente una tarea de compilación para esto.

    Después de instalar el paquete, tenemos que crear un bundleconfig.json en la raíz del proyecto con el siguiente contenido:

    [
      {
        "outputFileName": "wwwroot/vendor.min.css",
        "inputFiles": [
          "node_modules/bootstrap/dist/css/bootstrap.min.css"
        ],
        "minify": { "enabled": false }
      },
      {
        "outputFileName": "wwwroot/vendor.min.js",
        "inputFiles": [
          "node_modules/jquery/dist/jquery.min.js",
          "node_modules/popper.js/dist/umd/popper.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.min.js"
        ],
        "minify": { "enabled": false }
      }
    ]

    Básicamente, esto configura los archivos que se combinan en lo que. Y cuando construimos, podemos ver que el vendor.min.css y vendor.js.css se crean correctamente. Todo lo que necesitamos hacer es ajustar nuestro _Layouts.html de nuevo para incluir los archivos:

    <!-- inside <head> -->
    <link rel="stylesheet" href="~/vendor.min.css" />
    
    <!-- at the end of <body> -->
    <script src="~/vendor.min.js"></script>

    El uso de un task manager como el Trago

    Si se quiere avanzar un poco más en el desarrollo del lado del cliente, también podemos empezar a utilizar las herramientas que íbamos a utilizar. Por ejemplo Webpack que se utiliza con mucha frecuencia construir la herramienta para todo. Pero también podemos empezar con un simple administrador de tareas como Gulp y hacer los pocos pasos necesarios a nosotros mismos.

    Para que, añadimos un gulpfile.js en nuestra raíz del proyecto, con el siguiente contenido:

    const gulp = require('gulp');
    const concat = require('gulp-concat');
    
    const vendorStyles = [
        "node_modules/bootstrap/dist/css/bootstrap.min.css"
    ];
    const vendorScripts = [
        "node_modules/jquery/dist/jquery.min.js",
        "node_modules/popper.js/dist/umd/popper.min.js",
        "node_modules/bootstrap/dist/js/bootstrap.min.js",
    ];
    
    gulp.task('build-vendor-css', () => {
        return gulp.src(vendorStyles)
            .pipe(concat('vendor.min.css'))
            .pipe(gulp.dest('wwwroot'));
    });
    
    gulp.task('build-vendor-js', () => {
        return gulp.src(vendorScripts)
            .pipe(concat('vendor.min.js'))
            .pipe(gulp.dest('wwwroot'));
    });
    
    gulp.task('build-vendor', gulp.parallel('build-vendor-css', 'build-vendor-js'));
    
    gulp.task('default', gulp.series('build-vendor'));

    Ahora, también tenemos que ajustar nuestro package.json tener dependencias en gulp y gulp-concat:

    {
      "version": "1.0.0",
      "name": "asp.net",
      "private": true,
      "devDependencies": {
        "bootstrap": "4.0.0",
        "gulp": "^4.0.2",
        "gulp-concat": "^2.6.1",
        "jquery": "3.3.1",
        "popper.js": "1.12.9"
      }
    }

    Por último, editamos nuestro .csproj para agregar la siguiente tarea que se asegura de que nuestro Trago de la tarea se ejecuta cuando construimos el proyecto:

    <Target Name="RunGulp" BeforeTargets="Build">
      <Exec Command="node_modules\.bin\gulp.cmd" />
    </Target>

    Ahora, cuando construimos el default Trago se ejecuta la tarea, que ejecuta el build-vendor tareas, que luego se construye nuestra vendor.min.css y vendor.min.js como hicimos antes. Así que después de ajustar nuestra _Layout.cshtml como antes, podemos hacer uso de jQuery y Bootstrap.

    Mientras que la configuración inicial de Gulp es un poco más complicado que el bundleconfig.json de arriba, hemos entrado en el Nodo del mundo y puede empezar a hacer uso de todas las otras herramientas interesantes allí. Por lo que podría ser vale la pena empezar con esto.

    Conclusión

    Mientras esta de repente se puso mucho más complicado que con el solo uso de Bower, también hacemos adquirir una gran cantidad de control con esas nuevas opciones. Por ejemplo, ahora podemos decidir qué archivos son en realidad incluidos dentro de la wwwroot carpeta y cómo esas exactamente aspecto. Y también podemos utilizar esto para hacer los primeros movimientos en el desarrollo del lado del cliente mundo con el Nodo que, al menos, debería ayudar a un poco con la curva de aprendizaje.

    • Cuando se utiliza el mecanismo nacional de prevención método, me estaba volviendo errores como «Uncaught SyntaxError: testigo Inesperado de exportación». Para solucionar este me cambié a la popper.js umd archivo «node_modules/popper.js/dist/umd/popper.min.js». De lo contrario, una de las mejores respuestas que he visto en la pila, gracias.
    • Gracias por los comentarios! – Déjame comprobar que el error, que están utilizando el Trago de la solución basada en, o de la bundleconfig uno?
    • Que estaba usando bundleconfig.json.
    • Oh, sí, estás en lo cierto! El camino que yo tenía en la respuesta es una ES6 módulo de archivo compatible. Se fija en la respuesta, gracias! 🙂
    • Estoy recibiendo un error siguiendo estas instrucciones: «El comando «node_modules\.bin\trago.cmd» terminó con código 1.» La salida de muestra: gulp.tarea («build-proveedor-css’, () => { SyntaxError: testigo Inesperado ) (Los puntos de salida para el paréntesis de cierre). Sugerencias?
    • Eso suena como si usted está usando una versión muy antigua de Nodo. Usted puede ver la versión ejecutando node -v, y obtener una versión actual aquí en el nodejs.org
    • Gracias. La actualización Nodo trabajado.
    • Gracias, este post fue super útil. Alguna idea de cómo conseguir Visual Studio autocompletar para reconocer la más reciente versión de bootstrap? Parece como el mío aún está señalando a la antigua versión 3.3.7
    • Hmm, no creo que hay un explícito de autocompletar para el Bootstrap. Creo que es más bien que la maquinilla de Afeitar toolls se autocompletar clases CSS a partir de .los archivos css. Así que si usted tiene el bootstrap.css incluido correctamente, que deben trabajar fuera de la caja.
    • El principio de QUE, VS autocompletar gran trabajo. Gracias de nuevo por esta respuesta. Super útil
    • ¿Tienes alguna recomendación en cuanto a lo de los archivos de una persona puede eliminar en su proyecto y cualquier cosa en la _Layout que podría ser eliminado.
    • Decir de la plantilla por defecto? Que bastante tienen completo control sobre eso. Usted necesita los diseños de archivo y desean mantener el _ViewStart y _ViewImports para mantener MVC trabajando muy bien, pero aparte de eso, usted puede hacer lo que quiera. Yo suelo cambiar todo el diseño con mis propias cosas y sustituir completamente a todo lo que está dentro de wwwroot. También me quite la <environment> cambia desde el diseño ya que por lo general no trabajan en proyectos que aprovechan a través de diferentes fuentes para estos archivos. Acabo de recibir mis archivos en la wwwroot directamente.
    • Gracias @poke, tiene sentido. Voy a tratar de que con un nuevo proyecto y crear mi propia plantilla.
    • LOL. Me tengo que reír o me voy a llorar. De diecisiete años .Net desarrollo utilizando el soporte de herramientas de Visual Studio, y ha llegado a esto? Personalmente, no veo cómo esto es un avance. Si se toma ese trabajo sólo para agregar Bootstrap estilo a un proyecto web, entonces es que algo ha ido drásticamente mal.
    • Si nada, entonces la culpa es en el desarrollo de JavaScript de los ecosistemas. Esto no es realmente relacionados .NET o Visual Studio en todo. La solución más simple es todavía para descargar sólo los archivos manualmente y, a continuación, agregarlos a tu web raíz. Eso es sólo la forma en que trabajó todos los años antes de también. – Y para lo que vale, Microsoft está trabajando en nuevos VS herramientas para hacer este proceso más sencillo (y actualizables).
    • Gracias por este post, muy útil. He intentado tanto bundleconfig y TRAGO métodos, y todo lo tengo agregado a mi carpeta de proyecto que usted especifica. Pero yo no entiendo de intellisense de trabajo para el bootstrap. Lo he intentado con el método antiguo, Anterior Instalación, descarga y simplemente copiar los archivos a la carpeta lib en wwwroot. Y tengo intellisense de trabajo para el bootstrap entonces. Así que me pregunto, ¿por qué otros métodos – GULP y bundleconfig – falta de intellisense, incluso si los archivos han instalado correctamente.
    • Creo que Visual Studio recoge clases CSS de forma automática de todos los archivos que están dentro de la wwwroot carpeta. Así que es posible que Visual Studio no recoger los archivos cuando son automáticamente colocados allí durante la construcción. ¿Se trate de la ejecución de los scripts (para tener los archivos que se trasladó allí), y luego reiniciar Visual Studio?
    • gracias por la respuesta.Pero no entendí lo que quiso decir por la ejecución de los scripts (para tener los archivos que se trasladó allí)? Podría usted explicar a mí ¿cómo puedo hacer lo mismo por favor. Realmente aprecio su ayuda.
    • Quiero decir, si usted está utilizando, por ejemplo, el Trago de la solución, a continuación, asegúrese de ejecutar una vez que los archivos se crean dentro de la wwwroot carpeta. Y, a continuación, comprobar si al reiniciar Visual Studio es suficiente para hacer que recoja las reglas CSS.
    • Las dependencias de la NGP funciona muy bien!
    • gracias por su respuesta. Sí, lo hice a ambos, corrió las secuencias de comandos y se reinicia VS. Todos los archivos se crean dentro de la carpeta wwwroot. Pero no ha habido suerte. 🙁
    • He estado jugando con este un poco ahora, por desgracia, el Visual Studio se comporta realmente incoherente allí. Yo creo VS no tendrá que buscar en .min.css archivos para esto. Así que si usted cambia la gulpfile.js (o el bundleconfig.json) para crear un vendor.css (en lugar de vendor.min.css), entonces debe de trabajo. Reiniciar Visual Studio todavía puede ser necesaria, aunque.
    • Genial!!!!!! Funcionó muy bien. cambiado tanto vendor.min.js y vendor.min.css a vendor.js y vendor.css. Reiniciar VS no es necesario en realidad, sólo reconstruir la solución. Muchas gracias.
    • La mía fue en los «Scripts» de la sección.
    • Yo no creo que no fue nada mal con NuGet y Bower para la gestión de la dependencia? Todo esto me deja un poco desconcertado en cuanto a cómo esto es una mejora.
    • No considero esto una mejora. Es sólo una situación muy diferente, tanto con NuGet y Bower ido para este tipo de dependencias.
    • Sí estoy de acuerdo con poke @camainc este no es un .net problema. Su el camino de desarrollo de software que está pasando. JS todas partes. Si usted ha estado en desarrollo durante más de 17 años, usted probablemente puede continuar a hacerlo (como tengo la esperanza de poder), pero JS es definitivamente el camino a seguir.
    • Sé que no es un bootstrap problema, y nunca me dijo que era. Se trata de un desarrollo general problema con todos los que aparentemente perseguir el siguiente nuevo marco. He visto un montón de cambios en mi carrera, pero nada como lo que ha sucedido en el último par de años que rodea Javascript. Ha sido completamente loco viendo el desarrollo de la comunidad de batido un nuevo marco después de la otra. Como si de JS es el camino a seguir, el jurado está todavía fuera de que uno, especialmente con WASM y proyectos como Blazor en el horizonte.
    • Este es probablemente el mejor post que he leído en esta pila.
    • Sáqueme de aquí! Quiero básica GridViews y ASP.Net… cliente sólo quiere una simple pantalla de entrada de datos y tengo que saltar todos los obstáculos que ahora?! @camainc estoy totalmente de acuerdo
    • Las nuevas plantillas con VS 2019 finalmente han abordado este problema. Sé que no todo el mundo es capaz de utilizar el filo de las herramientas de aunque. Si es así, la cosa más fácil de hacer es descargar BS 4 y agregarlo al proyecto de forma manual. LibMan nosotros también una buena herramienta a utilizar.
    • Para los proyectos que no fue creada mediante el VS plantillas de app.UseStaticFiles() tiene que ser añadido a «Configurar» el método en el Inicio.cs con el fin de ser capaz de vincular los archivos que se encuentran en wwwroot de la carpeta.
    • Esta es la locura. El uso de este… no, el uso que… espera, ahora que está muerto!

  2. 28

    Sobre esto, parece que la LibMan enfoque funciona mejor para mis necesidades con la adición de Bootstrap. Me gusta porque es ahora integrado en Visual Studio 2017(15.8 o posterior) y tiene sus propios cuadros de diálogo.

    El método predeterminado VS añade a los proyectos de usos Bower pero parece que es en el camino de salida. En el encabezado de Microsoft bower página en la que escribe:
    Cómo utilizar Bootstrap 4 en ASP.NET Core

    Después de un par de enlaces conducen a El uso de LibMan con ASP.NET Básicos en Visual Studio donde muestra cómo las bibliotecas pueden agregarse mediante un Diálogo integrados:

    En el Explorador de soluciones, haga clic derecho en la carpeta del proyecto en el que el
    los archivos deben ser añadidos. Elija Agregar > Biblioteca de Cliente. El Complemento
    Biblioteca de cliente aparece el cuadro de diálogo: [fuente: Scott Addie 2018]

    Cómo utilizar Bootstrap 4 en ASP.NET Core

    A continuación, para el bootstrap (1) seleccione el unpkg, (2) el tipo de «[email protected]» (3) Instale. Después de esto, sólo quiero comprobar todos los incluye en el _Layout.cshtml o en otros lugares son correctos. Que debe ser algo parecido a href=»~/lib/bootstrap/dist/js/bootstrap…»)

    • Para mí esta es la más fácil y mejor respuesta.
    • Me han VS 4.7.02558 (Community Edition) y esta era la opción más fácil para mí. Yo lo he utilizado en la práctica, los proyectos creados para el estudio de la MS 70-486 (MVC) el examen, así que no puedo responder por que tan efectivo es para los proyectos que están en camino a la producción.
    • Para mí, esta también era la manera más fácil para instalar el material con el MS de herramientas ESTÁNDAR. Con las sugerencias en su mensaje de cambio de Proveedor para unpkg, tipo de [email protected], Pude instalar. Libman no es realmente intuitiva (en mi caso, yo también había para entrar en el . (punto) después de 4, antes de que los paquetes se mostró (pensé, libman no está funcionando en mi entorno).
  3. 13

    Intentar Libman, es tan simple como Bower y usted puede especificar wwwroot/lib/como la carpeta de descarga.

    • No en la liberación de VS2017 aún: ACTUALIZACIÓN: 24-May-2018 – parece Que LibMan no se incluyeron en la versión final de 15.7. Es en la vista previa para 15.8.x
    • Parece que es ahora con el final de 15.8 liberación.
    • Por fin! gracias
    • Está disponible ahora en VS2017 V 15.8 y enfoque mucho más simple que la aceptó responder
    • Este es realmente el camino a seguir ahora y así, tan simple! Gracias
  4. 4

    Por desgracia, vamos a tener un tiempo duro con NuGet para instalar Bootstrap (o la mayoría de las otras JavaScript/CSS frameworks) en una .NET Core proyecto. Si usted mira el NuGet instalarlo dice que es incompatible:

    Cómo utilizar Bootstrap 4 en ASP.NET Core

    si usted debe saber que las dependencias de paquetes, están ahora en su directorio de perfil. es decir,%userprofile%\.nuget\packages\bootstrap\4.0.0\content\Scripts.

    Sin embargo, sugiero cambiar a la ngp, o bower – como en Saineshwar la respuesta.

  5. 3

    Utilizamos bootstrap 4 en asp.net núcleo, pero la referencia de las bibliotecas de «npm» mediante el «Instalador de Paquetes» extensión y encontró que este sea mejor que el de Nuget para Javascript/CSS bibliotecas.

    A continuación, utilizamos el «Bundler & Minifier» extensión de la copia de los archivos correspondientes para la distribución (desde el mecanismo nacional de prevención de la carpeta node_modules, que se encuentra fuera del proyecto) en wwwroot como nos gusta para el desarrollo/implementación.

  6. 3

    Libman parece ser la herramienta preferida por Microsoft ahora. Está integrado en Visual Studio 2017(15.8).

    Este artículo describe cómo utilizarlo y cómo configurar una restauración realizada por el proceso de compilación.

    La documentación de Bootstrap le dice lo que los archivos que necesites en tu proyecto.

    El siguiente ejemplo debería funcionar como una configuración de libman.json.

    {
      "version": "1.0",
      "defaultProvider": "cdnjs",
      "libraries": [
      {
        "library": "[email protected]",
        "destination": "wwwroot/lib/bootstrap",
        "files": [
        "js/bootstrap.bundle.js",
        "css/bootstrap.min.css"
        ]
      },
      {
        "library": "[email protected]",
        "destination": "wwwroot/lib/jquery",
        "files": [
          "jquery.min.js"
        ]
      }
    ]

    }

    • Gracias, yo estaba siguiendo a lo largo de un Pro ASP.NET Núcleo MVC 2 libro que me dijo que usara Bower que ahora es obsoleto. Busqué por los alrededores durante un buen rato antes de darse cuenta de que usted puede simplemente haga clic derecho en el proyecto y seleccione Agregar -> biblioteca de Cliente. Y que utiliza libman. Todo está integrado en.
  7. 2

    Lo que hace el truco para mí es:

    1) haga clic Derecho en wwwroot > Agregar > Lado del Cliente de la Biblioteca

    2) Escribió «bootstrap» en el cuadro de búsqueda

    3) Seleccione «Elegir archivos»

    4) Desplácese hacia abajo y seleccione una carpeta. En mi caso elegí «twitter-bootstrap»

    5) Verificación «css» y «js»

    6) Haga Clic En «Instalar».

    Un par de segundos más tarde que los tengo a todos ellos carpeta wwwroot. Haga lo mismo para el lado del cliente de los paquetes que desea agregar.

  8. 1

    BS4 está ahora disponible en .NET Core 2.2. En el SDK de 2.2.105 x64 instalador de seguro. Yo estoy usando Visual Studio 2017 con ella. Tan lejos y tan bueno para los nuevos proyectos de aplicación web.

  9. 0

    Uso nmp archivo de configuración (agregar a su proyecto web), a continuación, agregar los paquetes necesarios en la misma forma en que lo hicimos uso de bower.json y guardar. Visual studio descargar e instalar. Usted encontrará el paquete bajo el nmp nodo de tu proyecto.

  10. 0

    ¿Por qué no utilizar un CDN? A menos que usted necesita para editar el código de BS, a continuación, sólo tiene que hacer referencia a los códigos en la CDN.

    Ver BS 4 CDN Aquí:

    https://www.w3schools.com/bootstrap4/bootstrap_get_started.asp

    En la parte inferior de la página.

    • El uso de un CDN añade una dependencia de tiempo de ejecución. Así que si la CDN se cae, también lo hace su sitio. Se trata de un problema de seguridad ya que quien controla la cdn puede cambiar los archivos más populares e inyectar secuencias de comandos en su sitio. Es también una cuestión de privacidad desde el navegador del usuario solicita los archivos a partir de la 3ª parte de servidor en lugar de su propio.

Dejar respuesta

Please enter your comment!
Please enter your name here