Bootstrap4 dependency PopperJs throws error on Angular
Looking at the docs at https://getbootstrap.com/docs/4.2/getting-started/introduction/#js you can see that they import the following:
<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>
Note the naming: jquery.slim.min.js, umd/popper.min.js!
Therefore I used the following in my .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" ],
After that it seems to work now.
I had the same problem. My solution was not to import the dist-folder (./node_modules/popper.js/dist/popper.js) but rather the umd-folder (./node_modules/popper.js/dist/umd/popper.js). Does not matter if you get the mini or normal version of the js-file.
I can see that many people are struggling with adding and properly including Bootstrap 4 dependencies (jQuery, popper.js etc.). But there is a much easier solution in the form of https://ng-bootstrap.github.io.
ng-bootstrap provides native Angular directives written from the ground up. The positive consequence is that:* you don't need to include and worry about jQuery, popper.js etc.* directives provide APIs that "make sense" in the Angular world
For anyone trying to use Bootstrap 4.beta with Angular - ng-bootstrap just released its first beta which is fully compatible with Bootstrap 4.beta CSS