Vue-cli: iview 按需引入 ie浏览器报语法错误;但是vue-cli2.0按同样规则没有问题

Created on 23 Aug 2018  ·  2Comments  ·  Source: vuejs/vue-cli

Version

3.0.1

Reproduction link

https://github.com/qq986063761/iview-demand-bug/tree/master

Node and OS info

node版本8.9.1;npm版本6.2.0;windows 10;

Steps to reproduce

1、下载重现链接中的仓库代码;
2、安装默认依赖后执行npm run dev;
3、使用谷歌浏览器和ie11浏览器分别访问本地链接;

What is expected?

都能正常显示iview组件样式

What is actually happening?

1、谷歌可以正常显示;
2、ie(非edge,edge正常显示)无法正常显示报错语法错误;但是尝试以2.x方式在3.x脚手架中通过include.add追加iview/src目录到js rule规则中,但是还是语法报错,原因应该是es6语法兼容问题导致;


无业务场景,全新@vue/cli demo项目尝试;

Most helpful comment

这个问题出在 iView,请给他们提 bug。


改编译范围请用 transpileDependencies: ['iview'],不要用 include.add,因为默认配置里用了 exclude,在 webpack 中,多个条件同时存在时需要每个条件都满足才执行 rule。

但是加了这个选项后在所有浏览器里都会报错,因为 iView 里这个文件不兼容 ES Module。该文件是用很旧版本的 UMD 格式打包的,新版本 UMD 修复了报错的问题,但没有解决和 ES Module 互操作的问题。在 Webpack 4 中,ES Module 不能和 CommonJS / UMD 混用。

所以这里本质上是 iView 对 Webpack 4 支持的问题,让他们把源码全部转成 ES Module 就好了。

All 2 comments

这属于第三方库的使用问题,建议去 iView 项目下提问。

这个问题出在 iView,请给他们提 bug。


改编译范围请用 transpileDependencies: ['iview'],不要用 include.add,因为默认配置里用了 exclude,在 webpack 中,多个条件同时存在时需要每个条件都满足才执行 rule。

但是加了这个选项后在所有浏览器里都会报错,因为 iView 里这个文件不兼容 ES Module。该文件是用很旧版本的 UMD 格式打包的,新版本 UMD 修复了报错的问题,但没有解决和 ES Module 互操作的问题。在 Webpack 4 中,ES Module 不能和 CommonJS / UMD 混用。

所以这里本质上是 iView 对 Webpack 4 支持的问题,让他们把源码全部转成 ES Module 就好了。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chasegiunta picture chasegiunta  ·  3Comments

BusyHe picture BusyHe  ·  3Comments

jgribonvald picture jgribonvald  ·  3Comments

brandon93s picture brandon93s  ·  3Comments

sanderswang picture sanderswang  ·  3Comments