From the error, it seems you are trying to require "popper" instead of "popper.js". If this doesn't fix it, please post your bootstrap.js file.
Aug 14, 2017
10
Level 1
SOLVED: Laravel-mix Issue: Popper.js dependency cannot be found by Boostrap 4 beta
I am trying to use Bootstrap 4 beta in my project. Bootstrap 4 beta requires Popper.js
My package.json, devDependencies looks like this:
"devDependencies": {
"axios": "^0.16.2",
"bootstrap": "^4.0.0-beta",
"cross-env": "^5.0.1",
"font-awesome": "^4.7.0",
"jquery": "^3.1.1",
"laravel-mix": "^1.0",
"lodash": "^4.17.4",
"popper.js": "^1.11.1",
"vue": "^2.1.10"
}
When I run npm run dev, I receive the following error:
ERROR Failed to compile with 1 errors 11:01:21 AM
This dependency was not found:
* popper in ./resources/assets/js/bootstrap.js
To install it, you can run: npm install --save popper
I can confirm that Popper.js (the correct one) is installed and present in node_modules
Attempted Fixes:
- Copied
node_modules/popper.js/dist/popper.jstoresources/assets/js. Result: Same error. - Copied
node_modules/popper.js/dist/umd/popper.jstoresources/assets/js. Result: Same error. - Copied
bootstrap.jsfrom/var/www/data-ish/node_modules/bootstrap/dist/jstoresources/assets/js. Result: Same error. - In
resources/assets/js/boostrap.js, addrequire('./popper'). Result: Same error. Removed. - In
resources/assets/js/boostrap.js, addrequire('./popper.js'). Result: Same error. Removed. - Edited
webpack.mix.jsto:
let mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.js([
'resources/assets/js/jquery.js',
'resources/assets/js/popper.js',
'resources/assets/js/bootstrap.js',
'resources/assets/js/app.js',
], 'public/js')
.autoload({
jquery: ['jquery', 'jQuery', '$', 'window.jQuery'],
Popper: ['popper', 'Popper', 'popper.js'],
popper: ['Popper', 'popper.js'],
})
.sass('resources/assets/sass/app.scss', 'public/css');
Result: Same error.
How do I successfully get "popper.js" to be recognized and installed?
Please or to participate in this conversation.