在包含webpack的材料设计引导程序时,“Waves未定义”错误

时间:2017-08-21 19:13:51

标签: twitter-bootstrap material-design webpack-2

我正在使用webpack包含mdbootstrap

这就是我在项目中包含它的方式:

require('mdbootstrap/css/mdb.min.css');
require('mdbootstrap/js/mdb.min.js');    

我也试过了require('mdbootstrap'),但在这两种情况下我都收到了以下错误:

vendor.js:71728 Uncaught ReferenceError: Waves is not defined
at Object.<anonymous> (vendor.js:71728)
at Object.<anonymous> (vendor.js:71729)
at __webpack_require__ (vendor.js:20)
at Object._require.modules (vendor.js:68202)
at __webpack_require__ (vendor.js:20)
at Object.defineProperty.value (vendor.js:68186)
at __webpack_require__ (vendor.js:20)
at Object.defineProperty.value (vendor.js:63)
at vendor.js:66

单独使用require('mdbootstrap/css/mdb.min.css');有效,但我也需要一个js文件。

3 个答案:

答案 0 :(得分:4)

我合作过:

cmd:var waves = required('node-waves') window.Waves = waves

main.js文件

`"`i'"'

答案 1 :(得分:1)

如果您使用 Vue ,这是适合我的解决方案:

安装node-wave

npm install node-waves --save

在webpack中声明(在webpack.dev.conf.js和webpack.prod.conf.js中):

new webpack.ProvidePlugin({
  'Waves': 'node-waves'
}),

答案 2 :(得分:0)

我也遇到过这个问题,我在mdb.js文件中找到了Waves.js的代码,所以你不需要安装node-wave。 我谷歌的解决方案是在mdb.js中注释这些代码

Waves.attach(‘.btn, .btn-floating’, [‘waves-light’]);
Waves.attach(‘.waves-light’, [‘waves-light’]);
Waves.attach(‘.navbar-nav a:not(.navbar-brand), .nav-icons li a, .navbar form, .nav-tabs .nav-item’, [‘waves-light’]);
Waves.attach(‘.pager li a’, [‘waves-light’]);
Waves.attach(‘.pagination .page-item .page-link’, [‘waves-effect’]);
Waves.init();/* FORMS */

这对我有用。我的mdb版本是4.3.2。