现象说明
在日常开发中,我们会经常遇到引用其他现有的组件库的情况,以现有项目为例,我们会常常引入hui-pro,hui-pro
组件库是不同的人编写,会有不同打包输出方式,有些包是遵循commonjs
规范,有些包是遵循es6
规范,在海豚脚手架升级之前,引入不同规范的组件包,项目就会出现报错。本文将提供解决方式,并重点解析其原因
例:老的海豚脚手架在引入hui-pro empty
组件时,报错如下:
问题解析
从浏览器console
面板里面的报错信息(见图)来看,提示‘exports of Object’
无法识别,引发三个黑人问号:哪里来的exports
? 为啥不是export
? 本项目支持的模块导出是什么?
下面一一解答这些困惑。
commonJs
规范模块导出用的是exports,
首先前端代码里现在都是用es6
,只会是export
不会出现exports,node
里面用的是commonjs
规范,那么也就只能是打包的配置出现问题。由此怀疑empty
这个组件是采用co