一、开始
1.1 问题
用 webpack 打包项目时,如果用 import
导入 Zepto 这种使用 AMD 规范化的库,会报一个 Uncaught TypeError: Cannot read property 'createElement' of undefined
的错误。
1.2 解决方法
webpack 要使用两个 loader:exports-loader
和 script-loader
1 | $ npm i -D script-loader exports-loader |
配置方法1:
webpack.config
1 | { |
文件引用
1 | import $ from 'zepto` |
配置方法2:
使用官方的一个插件:webpack.ProvidePlugin
webpack.ProvidePlugin
是一个依赖注入类型的插件,可以让你在使用指定变量时,比如直接使用 $
时,自动加载指定的模块 zepto
,并将其暴露的对象赋值给 $
:
1 | // webpack.config |
这样就可以直接使用赋值了 Zepto 对象的 $/abc
变量了,不再需要 import $ from 'zepto'
1.3 其它
如果是 vue-cli 生成的项目,需要修改 webpack.base.conf.js
这个文件
1 | module: { |