INTERNAL ERROR(undefined,undefined) Cannot destructure property 'script' of 'result.descriptor' as it is undefined.
遇到报错
PS C:\Users\demo\> yarn build:stage
yarn run v1.22.19
$ vue-cli-service build --mode staging
WARN A new version of sass-loader is available. Please upgrade for best experience.
\ Building for staging...Starting type checking service...
Using 1 worker with 2048MB memory limit
- Building for staging...
ERROR Failed to compile with 1 error 14:32:08
error in [internal]
INTERNAL ERROR(undefined,undefined) Cannot destructure property 'script' of 'result.descriptor' as it is undefined.
stack trace:
TypeError: Cannot destructure property 'script' of 'result.descriptor' as it is undefined.
at Object.parseComponent (C:\Users\demo\node_modules\@vue\cli-plugin-typescript\vue-compiler-sfc-shim.js:6:13)
at Function.resolveScriptBlock (C:\Users\demo\node_modules\fork-ts-checker-webpack-plugin\lib\VueProgram.js:196:35)
at Object.host.getSourceFile (C:\Users\demo\node_modules\fork-ts-checker-webpack-plugin\lib\VueProgram.js:106:45)
at findSourceFile (C:\Users\demo\node_modules\typescript\lib\typescript.js:101559:29)
at processImportedModules (C:\Users\demo\node_modules\typescript\lib\typescript.js:101900:25)
at findSourceFile (C:\Users\demo\node_modules\typescript\lib\typescript.js:101607:17)
at C:\Users\demo\node_modules\typescript\lib\typescript.js:101436:85
at getSourceFileFromReferenceWorker (C:\Users\demo\node_modules\typescript\lib\typescript.js:101403:34)
at processSourceFile (C:\Users\demo\node_modules\typescript\lib\typescript.js:101436:13)
at processRootFile (C:\Users\demo\node_modules\typescript\lib\typescript.js:101259:13)
ERROR Build failed with errors.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
问题分析
- 这种报错一般出现在VUE2.6.x中,打包的时候会出现Cannot destructure property 'script' of 'result.descriptor' as it is undefined.
- 一般是版本依赖兼容问题
解决方案 1
- 打开项目中的package.json,根据下面的提示修改版本号
- 重新下载安装依赖
- 执行打包命令
"vue": "^2.6.11" 改为 "vue": "~2.6.11"
"vue-template-compiler": "^2.6.11" 改为 "vue-template-compiler": "~2.6.11"
解决方案 2
网上还有另一个小伙伴写了这个方法,根据报错提示,找到node_modules/ @vue /cli-plugin-typescript/vue-compiler-sfc-shim.js文件
const { script } = result.descriptor
改为:
const { script } = result.descriptor || {}
- 今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢
欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
标签:
BUG集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决