Can‘t resolve ‘@babel/runtime/helpers/esm/extends‘的解决方法

一、问题

vue前端项目,之前好好的,最近不知道怎么回事,项目打包没有报错,但是发版后访问网页白页面,按F12发现,报错:Can't resolve '@babel/runtime/helpers/esm/extends'

使用npm run compile本地启动项目测试,也会报这个错,然后启动失败。

详细错误如下:


ERROR in ./node_modules/vant/es/button/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\button'
 @ ./node_modules/vant/es/button/index.js 1:0-58
 @ ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/modules/exam/exam-join/app.vue
 @ ./src/modules/exam/exam-join/app.vue
 @ ./src/modules/exam/exam-join/main.js

ERROR in ./node_modules/vant/es/cell/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\cell'
 @ ./node_modules/vant/es/cell/index.js 1:0-58
 @ ./node_modules/vant/es/field/index.js
 @ ./src/modules/exam/exam-mode/main.js

ERROR in ./node_modules/vant/es/dialog/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\dialog'
 @ ./node_modules/vant/es/dialog/index.js 1:0-58
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/field/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\field'
 @ ./node_modules/vant/es/field/index.js 3:0-58
 @ ./src/modules/exam/exam-mode/main.js

ERROR in ./node_modules/vant/es/goods-action-button/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\goods-action-button'
 @ ./node_modules/vant/es/goods-action-button/index.js 1:0-58
 @ ./node_modules/vant/es/dialog/Dialog.js
 @ ./node_modules/vant/es/dialog/index.js
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/image-preview/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\image-preview'
 @ ./node_modules/vant/es/image-preview/index.js 1:0-58
 @ ./src/modules/exam/exam-mode/main.js

ERROR in ./node_modules/vant/es/mixins/popup/overlay.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\mixins\popup'
 @ ./node_modules/vant/es/mixins/popup/overlay.js 1:0-58
 @ ./node_modules/vant/es/mixins/popup/index.js
 @ ./node_modules/vant/es/notify/Notify.js
 @ ./node_modules/vant/es/notify/index.js
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/notify/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\notify'
 @ ./node_modules/vant/es/notify/index.js 1:0-58
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/notify/Notify.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\notify'
 @ ./node_modules/vant/es/notify/Notify.js 1:0-58
 @ ./node_modules/vant/es/notify/index.js
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/overlay/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\overlay'
 @ ./node_modules/vant/es/overlay/index.js 2:0-58
 @ ./node_modules/vant/es/mixins/popup/overlay.js
 @ ./node_modules/vant/es/mixins/popup/index.js
 @ ./node_modules/vant/es/notify/Notify.js
 @ ./node_modules/vant/es/notify/index.js
 @ ./src/modules/exam/exam-info/main.js

ERROR in ./node_modules/vant/es/swipe-item/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\swipe-item'
 @ ./node_modules/vant/es/swipe-item/index.js 1:0-58
 @ ./node_modules/vant/es/image-preview/ImagePreviewItem.js
 @ ./node_modules/vant/es/image-preview/ImagePreview.js
 @ ./node_modules/vant/es/image-preview/index.js
 @ ./src/modules/exam/exam-mode/main.js

ERROR in ./node_modules/vant/es/tab/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\tab'
 @ ./node_modules/vant/es/tab/index.js 1:0-58
 @ ./src/modules/exam-certificate/main.js

ERROR in ./node_modules/vant/es/tabbar-item/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\tabbar-item'
 @ ./node_modules/vant/es/tabbar-item/index.js 1:0-58
 @ ./src/modules/exam-certificate/main.js

ERROR in ./node_modules/vant/es/tabs/Content.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\tabs'
 @ ./node_modules/vant/es/tabs/Content.js 1:0-58
 @ ./node_modules/vant/es/tabs/index.js
 @ ./src/modules/exam-certificate/main.js

ERROR in ./node_modules/vant/es/toast/index.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\toast'
 @ ./node_modules/vant/es/toast/index.js 1:0-58
 @ ./src/modules/exam/apply/main.js

ERROR in ./node_modules/vant/es/utils/functional.js
Module not found: Error: Can't resolve '@babel/runtime/helpers/esm/extends' in 'E:\mobile-web\node_modules\vant\es\utils'
 @ ./node_modules/vant/es/utils/functional.js 1:0-58
 @ ./node_modules/vant/es/notify/index.js
 @ ./src/modules/exam/exam-info/main.js

ERROR in (webpack)-hot-middleware/client-overlay.js
Module not found: Error: Can't resolve 'html-entities' in 'E:\mobile-web\node_modules\webpack-hot-middleware'
 @ (webpack)-hot-middleware/client-overlay.js 38:19-43
 @ (webpack)-hot-middleware/client.js?path=/__webpack_hmr&timeout=20000
 @ multi ./src/utils/hack ./src/styles/common.styl webpack-hot-middleware/client?path=/__webpack_hmr&timeout=20000
Child html-webpack-plugin for "exam-certificate.html":

发现,其实都是in '\node_modules\vant\es'里面报的错。

二、解决方法

1.尝试网上搜到的,替换roadhog的版本为 “roadhog”: “^2.5.0-beta.4”;但是实际上本人的项目里没有这个,于是加上这个重新npm i,结果还是不行,打包没问题,访问页面会报错。

2.尝试网上搜到的,把esm目录改成es6目录;但是实际上本人的项目里根本没有import _extends from '@babel/runtime/helpers/esm/extends';这句话,连esm/也没有,也就谈不上改成es6了。

3.最后,把node_modules删除,然后重新执行npm i,重新下载了一次,再次打包发版,就发现页面可以正常访问了。(总之这样就好了,为什么还不太清楚)

猜你喜欢

转载自blog.csdn.net/BHSZZY/article/details/130955359