webpack在引入两个依赖的包时,可能需要使用shimming,意思是处理代码上的兼容
1、在main.js中引入jquery
import $ from 'jquery' import append from './append' //下面的给页面添加元素文件 append()
2、append.js使用main.js的$向页面中添加元素
function appDomFunc() { let dom = document.createElement('div') dom.innerHTML = '我是新添加元素' // document.body.appendChild(dom) $('body').append(dom) } export default appDomFunc
打开浏览器,可以看见append.js报错,找不到jquery,因为webpack是分模块的,这时可以这样处理,使用webpack.ProvidePlugin向项目传递jquery,打开webpack.config.js
const webpack =require('webpack') module.exports = { plugins: [ new webpack.ProvidePlugin({ $:'jquery' }) ] }
//深入,如果只需要使用jquery.css可以这样配置
new webpack.ProvidePlugin({ jcss:['jquery','css'] //jcss代替jquery.css,jcss可以随便命名 })
再次打开浏览器,成功运行,可以删除main.js中的jquery的全局引入,因为webpack已经帮我们处理了