如何将bootstrap和jquery包含在vue webpack-simple模板中?

时间:2018-01-03 14:57:37

标签: jquery twitter-bootstrap webpack vue.js vue-cli

我需要在我的vue应用程序上使用bootstrap 3。我做了以下事情:

 vue init webpack-simple
 npm install jquery bootstrap

之后我添加到webpack.config.js

 module.exports = {
 ...
   plugins: [
       new webpack.ProvidePlugin({
           $: "jquery",
           jQuery: "jquery"
       }),
   ]
 }

并添加到src / main.js

 window.$ = window.jQuery = require('jquery')
 import 'bootstrap'

并在浏览器中出错:

  

未捕获的ReferenceError:未定义jQuery

我如何解决这个问题?

更新:

我喜欢说@Sandwell,但结果没有bootstrap.css。我将行添加到src / main.js

 import Bootstrap from 'bootstrap/dist/css/bootstrap.css'

并得到了webpack编译错误:

  

./ node_modules /引导/ DIST /字体/ glyphicons-半身-regular.ttf   模块解析失败:意外字符''(1:0)   您可能需要适当的加载程序来处理此文件类型。   (此二进制文件省略了源代码)    @ ./node_modules/css-loader!./node_modules/bootstrap/dist/css/bootstrap.css 6:4790-4842    @ ./node_modules/bootstrap/dist/css/bootstrap.css    @ ./src/main.js    @ multi(webpack)-dev-server / client?http://localhost:8080 webpack / hot / dev-server ./src/main.js

我在webpack.config.js module.rules中有加载程序:

  {
    test: /\.(png|jpg|gif|svg|ttf)$/,
    loader: 'file-loader',
    options: {
      name: '[name].[ext]?[hash]'
    }
  }

1 个答案:

答案 0 :(得分:1)

对于webpack 2

我为我的libs做了一个供应商包。它应该这样工作。

  module.exports = {
    entry: {
        app: 'path/to/initapp.js',
        vendor: ['jQuery', 'Bootstrap']
    }
    output: {
      path: rootPath + 'public/',
      filename: 'js/[name].js'
    }, 
    plugins: [
      new webpack.optimize.CommonsChunkPlugin({
        names: ['vendor']
      })
    ]
  }

然后jQuery应该在vendor.js包中 不要忘记在initapp.js中导入它

import 'bootstrap';
import jQuery from 'jQuery'
window.jQuery = jQuery

您应该查看此doc了解详情