首先想问下 2.4.1 往后的版本最近有正式发布的计划么,由于 2.4.1 版本 package.json 中写死了 @babel/runtime 版本为 7.0.0-beta46, 而 @babel/runtime 从 7.0.0-beta56 开始重命名了 es6 文件夹(详见 https://github.com/babel/babel/pull/8266#issuecomment-405059388 ),于是导致一个问题:
如果引用的包对 @babel/runtime 的依赖是 ^7.0.0 那么实际安装的版本便会是 7.0.0及以后(现在是 7.2.0)版本,而 dva2.4.1 依赖的是 7.0.0-beta46,这样就会导致其他依赖最新 babel 的包可能找不到模块(如果模块开发者依赖的是最新 babel 版本,。并在代码中写了类似的 helper import 代码),类似:
Module not found:
Can't resolve '@babel/runtime/helpers/esm/assertThisInitialized' in
'/site/node_modules/[email protected]@luma.gl/dist/esm/webgl'
由于让其他依赖库回滚对 babel helper 写法是不现实且不推荐的,且我看 dva 2.5.0 beta 已经 merge 了相关依赖(详见 https://github.com/dvajs/dva/pull/1908 ),所以如果 dva 能尽快更新该版本至正式版,会是当下我认为最好的解决方案。
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
我在 2.4.1 也遇到了这个问题, 官方是不打算处理了吗?
折腾了很久,最后简单粗暴的处理
npm i @babel/runtime-corejs2 -D
npm i @babel/plugin-transform-runtime -D
然后在webpack的配置中设置
alias: '@babel/runtime': '@babel/runtime-corejs2'
babel配置中启用插件“@babel/plugin-transform-runtime”
最新的@babel/runtime 已经删除了core-js的包
当然webpack 别设置resolve.modules参数也可以不需要按上面那个设置
这个问题不管了吗?这架子三天两头打包就报错 真是服了
参考 https://github.com/dvajs/dva/issues/2032#issuecomment-473610299 解决,相同的问题。
还可以在需要的项目里面安装最新的 @babel/runtime 来解决这个问题。避免 dva 以后发布新版本了,resolve.alias 的设置没意义。
最后想知道,dva 什么把 beta 版本正式发布了?
折腾了很久,最后简单粗暴的处理
npm i @babel/runtime-corejs2 -D
npm i @babel/plugin-transform-runtime -D
然后在webpack的配置中设置
alias: '@babel/runtime': '@babel/runtime-corejs2'
babel配置中启用插件“@babel/plugin-transform-runtime”最新的@babel/runtime 已经删除了core-js的包
当然webpack 别设置resolve.modules参数也可以不需要按上面那个设置
只用了dva-core+自己配置webpack 遇到这个问题折腾了两天 整个babel文档都研究了一遍 现在解决了 感谢大佬
还可以在需要的项目里面安装最新的
@babel/runtime来解决这个问题。避免 dva 以后发布新版本了,resolve.alias 的设置没意义。
最后想知道,dva 什么把 beta 版本正式发布了?
我的项目中只使用dva-core 1.4.0 这个最新版的是一年前了。。。不打算单独维护了吧。。
最新版的@babel/runtime 把core-js删了 同时目录结构helpers/esm 而之前7.0.0版本@babel/runtime的还有core-js但是又是helpers/es6 用了这个虽然dva-core没问题了,但是又导致很多新版本的其他库又报错。所以只能用@babel/runtime-corejs2 又有core-js又是helpers/esm。
Most helpful comment
这个问题不管了吗?这架子三天两头打包就报错 真是服了