web-dev-qa-db-fra.com

RÉSOLU - Laravel Bootstrap navbar collapse

Je développe une application dans Laravel et mon bouton de réduction ne fonctionne pas lorsque je l'appuie, la console dit "TypeError: impossible de convertir la configuration en chaîne 3 app.js: 3449: 52

Mon package.json est:

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.19",
        "bootstrap": "^4.4.1",
        "cross-env": "^7.0",
        "jquery": "^3.2",
        "laravel-mix": "^5.0.1",
        "lodash": "^4.17.13",
        "popper.js": "^1.12",
        "resolve-url-loader": "^2.3.1",
        "sass": "^1.20.1",
        "sass-loader": "^8.0.0",
        "vue": "^2.5.17",
        "vue-template-compiler": "^2.6.10"
    }
}

Et mon code pour mon effondrement est le suivant

<nav class="navbar bg-white shadow-sm navbar-light">
    <div class="container">
        <a class="navbar-brand" href="{‌{ route('home') }}">
            {‌{ config('app.name') }}
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{‌{ __('Toggle navigation') }}">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="nav nav-pills">
                <li class="nav-item">
                    <a class="nav-link {‌{ setActive('home') }}" href="{‌{ Route('home')}}">Home</a>
                </li>
                {‌{--<li class="nav-item">
                    <a class="nav-link {‌{ setActive('login') }}" href="{‌{ Route('login')}}">Login</a>
                </li>--}}
                <li class="nav-item">
                    <a class="nav-link {‌{ setActive('contact') }}" href="{‌{ Route('contact')}}">Contact</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link {‌{ setActive('cookies') }}" href="{‌{ Route('cookies')}}">Cookies</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link {‌{ setActive('legal') }}" href="{‌{ Route('legal')}}">Legal</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link {‌{ setActive('policy') }}" href="{‌{ Route('policy')}}">Policy</a>
                </li>
            </ul>
        </div>
    </div>
</nav>

J'ai vérifié dans Firefox et chrome et je développe dans Ubuntu 16.04

2
ricardo

Je viens de résoudre ce problème en remplaçant simplement le fichier public/js/app.js par this file

Je pense que ce n'est pas vraiment la bonne façon de résoudre ce problème, mais je suis nouveau dans ce domaine, c'est ce que je pourrais faire :)

0
Ahrorbek

Pour ajouter à la réponse de Ricardo: Ceci problème de bootstrap explique la cause.

Il y a un correctif sur la branche dev, mais il n'est pas encore publié. La solution actuelle consiste à rétrograder votre jQuery vers la v3.4.1.

0
krkc