通过资料及文档查找,对js库文件的打包做了如下配置
output配置中
filename:表示输出文件名称
libraryTarget:表示输出方式,此处我选择的是全局变量输出,一般建议配置为umd,既可以支持amd export 也可以支持全局变量
library:表示输出的全局变量名称
在打包模块中,因为部分js文件引用vue,vuex等模块,所以我重新添加了模块依赖,打包之后发现一个问题
因为js库函数使用的Vue对象与工程项目的并不是一个,所以有些注入、挂载在两边并不一致,因此出错
由此,推想应该让js库与工程使用同一Vue模块,有两种方案:
1、在js库添加Vue模块,然后通过export导出到工程
2、在工程中添加Vue模块,在js库初始化时,工程通过全局变量注入
因为ElementUi也是对Vue组件进行扩展,肯定也会遇到此类问题,大致扫了一遍代码,发现其做了如下处理:
即采用的第二种方法,不过这种涉及对js库代码的改动,先测试下第一种方案