webpack之shimming的应用(webpack.ProvidePlugin)

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已经帮我们处理了

 

相关文章

一准备工作umi为react的一个封装比较nice的脚手架。优点当然...
webpack在引入两个依赖的包时,可能需要使用shimming,意思是...
  Happypack (plugin)多线程使用loader编译文件treeshaki...
一目录结构├──build//构建相关├──config//配置相关├─...
接着第一节的demo现在我们尝试整合一些其他资源,比如图像,...
webpack的打包原理识别入口文件通过逐层识别模块依赖(Common...