twitter bootstrap - uncaught - La dependencia de Bootstrap4 PopperJs arroja un error en Angular
uncaught syntaxerror: unexpected token export popper (5)
Mirando los documentos en https://getbootstrap.com/docs/4.2/getting-started/introduction/#js , puede ver que importan lo siguiente:
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
Tenga en cuenta el nombre: jquery. delgado .min.js, umd /popper.min.js!
Por lo tanto, utilicé lo siguiente en mi
.angular-cli.json
:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.slim.min.js",
"../node_modules/popper.js/dist/umd/popper.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
],
Después de eso parece funcionar ahora.
Acabo de crear un nuevo proyecto
angular-cli
y ejecutó
npm install [email protected] jquery popper.js --save
y cambió las partes relacionadas de
.angular-cli.json
de la siguiente manera
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/popper.js/dist/popper.js",
"../node_modules/bootstrap/dist/js/bootstrap.js"
],
sin embargo recibiendo el error a continuación
10:2287 Uncaught SyntaxError: Unexpected token export
at eval (<anonymous>)
at webpackJsonp.../../../../script-loader/addScript.js.module.exports (addScript.js:9)
at Object.../../../../script-loader/index.js!../../../../popper.js/dist/popper.js (popper.js?4b43:1)
at __webpack_require__ (bootstrap 4403042439558687cdd6:54)
at Object.2 (scripts.bundle.js:66)
at __webpack_require__ (bootstrap 4403042439558687cdd6:54)
at webpackJsonpCallback (bootstrap 4403042439558687cdd6:25)
at scripts.bundle.js:1
¿Alguna de idea de cómo arreglarlo?
Para ejecutar modal, cambie el objetivo de "es2015" a "es5" en tsconfig.ts
"styles": [ "src/styles.css", "node_modules/bootstrap/dist/css/bootstrap.min.css" ], "scripts": ["node_modules/jquery/dist/jquery.min.js", "node_modules/popper.js/dist/umd/popper.min.js", "node_modules/bootstrap/dist/js/bootstrap.min.js"] }
Puedo ver que muchas personas están luchando para agregar e incluir adecuadamente las dependencias de Bootstrap 4 (jQuery, popper.js, etc.). Pero hay una solución mucho más fácil en forma de https://ng-bootstrap.github.io .
ng-bootstrap proporciona directivas angulares nativas escritas desde cero. La consecuencia positiva es que: * no necesita incluir y preocuparse por jQuery, popper.js, etc. * las directivas proporcionan API que "tienen sentido" en el mundo angular
Para cualquiera que intente usar Bootstrap 4.beta con Angular: ng-bootstrap acaba de lanzar su primera versión beta que es totalmente compatible con Bootstrap 4.beta CSS
Si trabajas en Asp.net Mvc, umd también hazlo.
Como en https://.com/a/50839939/8497522 solo agregue BundleConfig.cs:
bundles.Add(new ScriptBundle("~/bundles/popper").Include("~/Scripts/umd/popper.js"));
excepto:
bundles.Add(new ScriptBundle("~/bundles/popper").Include("~/Scripts/popper.js"));
Yo tuve el mismo problema. Mi solución no fue importar la carpeta dist (./node_modules/popper.js/dist/popper.js) sino la carpeta umd (./node_modules/popper.js/dist/ umd /popper.js). No importa si obtienes la versión mini o normal del archivo js.