我对Vue和webpack基本上是新手,我很难弄清楚如何导入东西.

我通过vue init创建了一个全新的Vue项目,我用yarn add bootstrap@4.0.0-alpha.6添加了bootstrap 4

main.js中,我try 导入 bootstrap 和jquery:

import Vue from 'vue';
import jQuery from 'jquery';
import bootstrap from 'bootstrap';
import App from './App';
import router from './router';

但我得到:

未捕获错误:Bootstrap的JavaScript需要jQuery.jQuery必须是

window.jQuery = window.$ = $;等于not

最后,我在哪里以及如何加载Sass,以便整个应用程序都可以使用它?

推荐答案

我也遇到了同样的问题,这就是我最终遇到的问题.但是,自从beta版发布以来,我没有使用Bootstrap alpha.


  1. 安装Bootstrap及其依赖项、jQuery和Popper.js:
npm install bootstrap@4.0.0-beta popper.js jquery --save-dev
  1. 编辑/build/webpack.dev.conf.js文件,为jQuery和Popper添加插件.js处理依赖关系(你可以在Bootstrap docs页中阅读更多相关内容):
plugins: [
    // ...
    new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        Popper: ['popper.js', 'default'],
        // In case you imported plugins individually, you must also require them here:
        Util: "exports-loader?Util!bootstrap/js/dist/util",
        Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
        // ...
    })
    // ...
]
  1. 编辑/src/main.js将 bootstrap 导入应用程序的入口点:
import Vue from 'vue'
import App from './App'
import router from './router'
import 'bootstrap' // ←
  1. 编辑应用程序.vue文件的<style>部分,用于将Bootsrap导入应用程序的根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>
  1. 从CLI运行Vue应用程序
npm start

Screenshot of the Vue.js project


我必须在#app selector之后添加@import规则,否则就会添加范围样式

Vue.js相关问答推荐

我可以将Created()中内置的内容传递给Provide属性吗?

vue3中的转换可以在滑入但不能滑出时工作

如何在与父集合相同的读取中取回子集合(或重构数据?)

VUE:带自定义组件的数组输入绑定

使用内部方法创建计算(computed)属性是否合法?

在 bootstrap-vue 中渲染自定义样式

两个div元素之间的vue2过渡

Rails Webpacker 还是 Vue-CLI?

有没有办法初始化一个保留初始 HTML 的 Vue 对象

Vue 单元测试:您正在开发模式下运行 Vue?

使用 Vue Router 设置页面标题

Vue.js 中 Chrome 和 Datalist 的性能问题

使用 vue-property-decorator 时注册本地组件

vuetify:以编程方式显示对话框

Modal 内部的 Vue.js AJAX 调用

如何使用 TypeScript 在 Vue.js 中指定非react性实例属性?

如何从 v-for 创建的对象中绑定多个类?

NPM:403 禁止 - PUT http://registry.npmjs.org/[package-name] - 禁止

使用 CloudFront 部署在 S3 上的 VueJS 应用程序的指定的密钥不存在

使用 vuex-persistedstate 仅使一个模块持久化