Vue 引入 Zepto.js 报错:TypeError: Cannot read property ‘createElement’ of undefined

引入Zepto之后控制台报错如下:

TypeError: Cannot read property ‘createElement’ of undefined


原因:
只使用了 AMD 规范的模块导出方法 define,没有用 CommonJs 规范的方法 module.exports 来导出模块,不过这不是造成报错的原因。

解决: webpack需要做以下修改才能正常使用Zepto.js
步骤:
1 需要下载
  npm install --save-dev script-loader exports-loader 2 使用loader模块化加载Zepto.js // webpack.base.conf.js
{
    // ...
    module: {
        rules: [
                //...
                {
                    test: require.resolve('zepto'),
                    loader: 'exports-loader?window.Zepto!script-loader'
                }
        ]
    }
}



如果需要全局引入可以在main.js中 import $
from 'zepto' 或者在webpack.conf.base.js中 plugins: [ new webpack.ProvidePlugin({ $: 'zepto', Zepto: 'zepto' }), ],

 

转载自CSDN:
作者:unhejing
原文地址:https://blog.csdn.net/unhejing/article/details/103768603/
声明:本博文只用于知识分享与传递信息,如涉及作品内容、版权和其它问题,请在30日内与本人联系,我将在第一时间删除内容!
posted @ 2020-04-16 11:18  自律·给我自由  阅读(3299)  评论(0编辑  收藏  举报