zhangyuang / ssr

A most advanced ssr framework support React17/React18/Vue2/Vue3 on Earth that implemented serverless-side render specification.
http://doc.ssr-fc.com/
MIT License
2.59k stars 283 forks source link

配置core-js,页面报错 #156

Closed zpfZPFgithub closed 2 years ago

zpfZPFgithub commented 2 years ago

问题描述

我当前的模式是midway-ssr-vue,在config.ts中增加配置: corejs:true 执行 npm run start 出现: image corejs升级到3.0版本。npm i core-js@3.6.4 -D,这时不报错了 执行: npm run start,打开ie浏览器,报错 image image 确定是node_modules被exclude的原因,在config.ts配置:babelExtraModule: [/javascript-stringify/] image 继续报错: image webpack-chain出现在代码里,很奇怪,继续exclude: image

这个时候打开ie11,报的错不一样了 image 根据经验,是core-js没有exclude导致的问题,修改打开node_modules/ssr-plugin-vue/base.js, image 重新编译打开ie11,问题解决

当前版本

v6.1.48

期望结果

问题可能的原因判断

zhangyuang commented 2 years ago

用生产环境的结果去看,开发环境没有参考价值,close by https://github.com/zhangyuang/ssr/commit/503f3e618a8918fbd482267349059d743af75787

zhangyuang commented 2 years ago

生产环境没有webpack-chain

zpfZPFgithub commented 2 years ago

core-js的问题呢,babel-loader没有exclude掉core-js

zhangyuang commented 2 years ago

https://github.com/zhangyuang/ssr/commit/503f3e618a8918fbd482267349059d743af75787#diff-115ab4ffd300a5a47bee4bb33263ca5b531cdcd22e3c739d6b960136bd460b78L135

zpfZPFgithub commented 2 years ago

另外上面提到,core-js默认安装的版本是^2的版本,直接npm run build是会报错哦。建议框架core-js最外层是^3的版本。这样就不用额外的npm i core-js@3.6.4 -D了

zpfZPFgithub commented 2 years ago

503f3e6#diff-115ab4ffd300a5a47bee4bb33263ca5b531cdcd22e3c739d6b960136bd460b78L135

这样修改后babelExtraModule配置就失效了,需要把node_modules排除掉哦 应该是这样:babelForExtraModule = module.add(babelExtraModule).end().exclude.add(/core-js/).end();

zhangyuang commented 2 years ago

另外上面提到,core-js默认安装的版本是^2的版本,直接npm run build是会报错哦。建议框架core-js最外层是^3的版本。这样就不用额外的npm i core-js@3.6.4 -D了

这里框架无法设置啊,哪个版本的依赖会被提升到最顶层本来就是不确定的