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已经帮我们处理了
原文地址:https://www.cnblogs.com/uimeigui/p/13967467.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。