webpack jquery已经全局引入 为什么还是提示$未定义
发布网友
发布时间:2022-04-22 18:51
我来回答
共2个回答
热心网友
时间:2022-04-22 20:20
webpack.config.js:
externals: {
jquery: 'jQuery.noConflict()' //或者jquery:'jQuery'
}
使用:
var $ = require('jquery');
其它全局组件也一样的,但是看情况最好做一些处理,比如jquery本身套了一层factory来兼容amd等模块格式,你先把这些东西删掉,然后用webpack编译一遍,会自动打包一个webpack包装过的jquery,这个jquery也是可以直接<script>引用的,也可以require。
还有些看情况是否要改成commonJS的格式导出对象,就是mole.exports=xx这样。
总之有一条,改动后先用webpack转换一遍库本身再用。
还有一些插件我觉得比较麻烦,理解了webpack的工作方式了稍微改下库的源码其实很简单。
热心网友
时间:2022-04-22 21:38
引入jQuery框架要在引入外链式js文件之前引入,说白了就是调换一下引入顺序