最近项目里在使用Bootstrap-fileinput模块的语言包(zh.js)和主题包(theme.js)的时候,直接导致界面不显示,于是,看了浏览器控制台后,发现出现了一个错,
浏览器控制台报错:Cannot read property 'fn' of undefined
而引起这个报错的是语言包和主题包的 js 文件内的一个代码
就是这个闭合包最后的代码
百度了两天所搜索的结果没有一个是明确的解决方法,于是,请教了同事让他帮我看了看,慢慢的找到了解决办法,而且很简单,也怪自己不够细心,在写配置文件的时候,少写了一个配置,以至于一些特别 js 文件不能执行。
解决方法:
1、在目录中找到 build 文件夹
2、找到 webpack.base.conf.js
3、在 module.exports = {};的大括号里最下面的位置添加一个 plugins:
4、在 plugins 里添加 new webpack.optimize.CommonsChunkPlugin 和 new webpack.ProvidePlugin
5、在 webpack.ProvidePlugin 里添加关于 jquery 的配置,配置三个常用的jquery常用标识符的变量,
分别是:
jQuery: "jquery",
$: "jquery",
'window.jQuery':"jquery"
最后一个最容易忽略,一定要在配置前两个的时候,把最后一个写上
上代码:
plugins:[
new webpack.optimize.CommonsChunkPlugin('common.js'),
new webpack.ProvidePlugin({
jQuery: "jquery",
$: "jquery",
'window.jQuery':"jquery" //这个就是解决报错的方法
})
]
希望能给大家帮助!谢谢的浏览!