J'écris une application Vue.js avec Bootstrap 4 et je ne peux pas charger bien que j'ai suivi la documentation.
Ajouté à main.js
Vue.use(BootstrapVue);
Ajouté au fichier css lié à App.vue:
@import '../../node_modules/bootstrap/dist/css/bootstrap.css';
@import '../../node_modules/bootstrap-vue/dist/bootstrap-vue.css';
Voici le modèle:
<div class="main">
<div>
<b-modal id="modal1" title="Something went wrong" v-if="!serverStatusOk">
<p class="my-4">{{msg}}</p>
<p class="my-4">{{statusCode}}</p>
</b-modal>
</div>
<div>
<b-tab title="Players" active>
<br>Players data
</b-tab>
<b-tab title="Tournaments" active>
<br>Tournament data
</b-tab>
</div>
Résultat: pas de css rendu mais dans le fichier css du répertoire dist je vois Bootstrap Que manque-t-il? Le projet créé par vue-cli 3.0-beta
J'ai rencontré le même problème, mais heureusement, j'ai trouvé la cause: le chargeur n'est pas chargé :)
package.json
{ test: /\.css/, use: ['vue-style-loader', 'css-loader'] // les deux sont nécessaires! }
App.vue
, sous la section <script>
, vous devez importer: import "bootstrap/dist/css/bootstrap.min.css"; import "bootstrap-vue/dist/bootstrap-vue.css";
Pas besoin d'utiliser @
ou des chemins node_modules
relatifs ou quoi que ce soit.
Avec ces changements, cela a fonctionné pour moi avec Vue 2.5 et Bootstrap-Vue 2.0.0
Mettre à jour:
De plus, même si cela vous semble un peu contre-intuitif, assurez-vous de use()
le package Bootstrap-VueAVANTvous créez la new Vue()
dans main.js . Par exemple:
import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue';
import App from './App';
import router from './router';
Vue.use(BootstrapVue);
new Vue({
el: '#app',
router,
components: { App },
render: h => h(App),
});
Si vous le faites dans l'ordre inverse, cela ne fonctionne que partiellement. Par exemple, aucun style ne sera appliqué à certains éléments de bloc.
import Vue from 'vue';
import BootstrapVue from 'bootstrap-vue';
import App from './App';
import router from './router';
new Vue({
el: '#app',
router,
components: { App },
render: h => h(App),
});
// Doing this after new Vue() will NOT work correctly:
Vue.use(BootstrapVue);
Essayez d'importer les fichiers en utilisant JavaScript.
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'
À y regarder de plus près, il semble que vous manquiez <b-tabs>
aussi <b-modal>
est contrôlé par v-model
<div class="main">
<div>
<b-modal id="modal1" title="Something went wrong" v-model="errorModal">
<pre class="my-4">{{ msg }}</pre>
<p class="my-4">{{ statusCode }}</p>
</b-modal>
</div>
<!-- Make sure to wrap b-tab in b-tabs -->
<b-tabs>
<b-tab title="Players" active>
<br>Players data
</b-tab>
<b-tab title="Tournaments">
<br>Tournament data
</b-tab>
</b-tabs>
</div>
Cela devrait corriger le style des onglets.
Solution:
Importer vers App.vue:
'../../node_modules/bootstrap/dist/css/bootstrap.css';
'../../node_modules/bootstrap-vue/dist/bootstrap-vue.css';