前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UmiJS less文件热更新报错:punycode.toASCII is not a function

UmiJS less文件热更新报错:punycode.toASCII is not a function

作者头像
德顺
发布2021-11-25 09:49:39
8500
发布2021-11-25 09:49:39
举报
文章被收录于专栏:前端资源前端资源

Umi 项目热更新报错如下:

代码语言:javascript
复制
Uncaught TypeError: punycode.toASCII is not a function
    at Url.parse (hotModuleReplacement.js:532)
    at Object.urlParse [as parse] (hotModuleReplacement.js:417)
    at module2.exports (hotModuleReplacement.js:1429)
    at getReloadUrl (hotModuleReplacement.js:1586)
    at hotModuleReplacement.js:1601
    at NodeList.forEach (<anonymous>)
    at reloadStyle (hotModuleReplacement.js:1597)
    at update (hotModuleReplacement.js:1638)
    at functionCall2 (hotModuleReplacement.js:1510)

已知是 Umi 的一个 BUG,已与 2021年7月5日修复:fix: punycode.toASCII is not a function (#6871)  代码修改记录

下面看一下原因:

查看 hotModuleReplacement.js 文件源码 (文件位置: \node_modules\@umijs\bundler-webpack\bundled\css\hotModuleReplacement.js

这个文件中定义了两次来自两个不同版本 punycode 的代码:

代码第 219- 221 行:

代码第 360 行:

出错的时候是引用了 "version": "1.3.2" ,引入的版本是不对的,并且是以 amd 的形式引入,其结果就是 punycode = {} ,导致后面没有方法。

解决方法:

更新 Umi 版本。

未经允许不得转载: UmiJS less文件热更新报错:punycode.toASCII is not a function

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解决方法:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档