我遇到了同样的问题,最终采用了以下解决方案,但是我没有使用Bootstrap alpha版,因为beta版已经发布了。
- 安装Bootstrap及其依赖项jQuery和Popper.js:
npm install bootstrap@4.0.0-beta popper.js jquery --save-dev
- 编辑你的
/build/webpack.dev.conf.js
文件,添加jQuery和Popper.js插件以处理依赖关系(可以在Bootstrap文档中了解更多相关信息):
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
Popper: ['popper.js', 'default'],
Util: "exports-loader?Util!bootstrap/js/dist/util",
Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
})
]
- 编辑
/src/main.js
,将Bootstrap导入应用程序的入口点:
import Vue from 'vue'
import App from './App'
import router from './router'
import 'bootstrap'
- 编辑App.vue文件的
<style>
部分,将Bootstrap引入到您的应用程序的根CSS中:
<template>
<div id="app">
<img src="./assets/logo.png">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'app'
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
@import'~bootstrap/dist/css/bootstrap.css'
</style>
- 使用命令行启动Vue应用
npm start
![Vue.js项目的截图](https://istack.dev59.com/PCUvD.webp)
我不得不在 #app 选择器之后添加 @import 规则,否则作用域样式将被 Bootstrap 导入所覆盖。我认为有更好的方法来解决这个问题,一旦找到我会更新我的答案。
window.jQuery = window.$ = $;
does not work"。这是因为在您的代码中没有设置$
。window.jQuery = window.$ = require('jquery')
可能会更好地工作。 - ceejayoz