build 报错

lodash和typescript兼容性问题导致的报错(更新版本后遇到)

报错信息

javascript 复制代码
 ERROR  Failed to compile with 4 errors                          11:18:09

 error  in node_modules/@types/lodash/common/common.d.ts:266:65

TS1005: '?' expected.
    264 |         [P in keyof T]?: T[P] extends object ? object : T[P]   
    265 |     };
  > 266 |     type StringToNumber<T> = T extends `${infer N extends number}` ? N : never;
        |                                                                 ^
    267 |     // For backwards compatibility
    268 |     type LoDashImplicitArrayWrapper<T> = LoDashImplicitWrapper<T[]>;
    269 |     type LoDashImplicitNillableArrayWrapper<T> = LoDashImplicitWrapper<T[] | null | undefined>;

 error  in node_modules/@types/lodash/common/object.d.ts:1026:46

TS1005: '?' expected.
    1024 |     type GetFieldTypeOfArrayLikeByKey<T extends unknown[], K> =
    1025 |         K extends number ? T[K]
  > 1026 |         : K extends `${infer N extends number}` ? T[N]        
         |                                              ^
    1027 |         : K extends keyof T ? T[K] : undefined;
    1028 |
    1029 |     type GetFieldTypeOfStringByKey<T extends string, K> =     

 error  in node_modules/@types/lodash/common/object.d.ts:1031:46

TS1005: '?' expected.
    1029 |     type GetFieldTypeOfStringByKey<T extends string, K> =     
    1030 |         K extends number ? T[K]
  > 1031 |         : K extends `${infer N extends number}` ? T[N]        
         |                                              ^
    1032 |         : K extends keyof T ? T[K]
    1033 |         : undefined;
    1034 |

 error  in node_modules/@types/lodash/common/object.d.ts:1041:46

TS1005: '?' expected.
    1039 |         : K extends number
    1040 |             ? `${K}` extends keyof T ? T[`${K}`] : undefined  
  > 1041 |         : K extends `${infer N extends number}`
         |                                              ^
    1042 |             ? N extends keyof T ? T[N] : undefined
    1043 |         : undefined;
    1044 |

 ERROR  Error: Build failed with errors.

解决方案

javascript 复制代码
// 重新安装lodash版本适应typescript版本4.1
cnpm i -D @types/lodash@ts4.1 

内存溢出

1、安装cross-env和increase-memory-limit

复制代码
npm install cross-env increase-memory-limit  

2、package.json添加如下内容:

javascript 复制代码
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"fix-memory-limit": "cross-env LIMIT=20000 increase-memory-limit"
},

3、执行命令

复制代码
npm run fix-memory-limit

4、执行后报错:'"node --max-old-space-size=4096"' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

方案1、在项目的node_modules/.bin下面找到所有的"%_prog%" 改为 %_prog%, 去掉双引号。

方案2、避免替换代码出现风险

复制代码
"build:prod": "vue-cli-service build",
替换为
"build:prod": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js build",

"serve": "vue-cli-service serve",
替换为
"serve": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve --open",
相关推荐
谎言西西里4 小时前
从模板渲染到响应式驱动:前端崛起的技术演进之路
vue.js
一 乐4 小时前
家政管理|基于SprinBoot+vue的家政服务管理平台(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
源码获取_wx:Fegn08954 小时前
基于springboot + vue停车场管理系统
java·vue.js·spring boot·后端·spring·课程设计
cc蒲公英4 小时前
vue 对象、数组增删改,对比vue2和vue3 —— 最新总结2025
前端·javascript·vue.js
_一两风5 小时前
揭秘 ChatGPT 同款“打字机”特效:前端流式输出 (Streaming) 原理全解
前端·vue.js·openai
三翼鸟数字化技术团队6 小时前
vue3组件二次封装-另外一种思路
vue.js
老华带你飞6 小时前
宠物商城销售|基于Java+ vue宠物商城销售管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·宠物
计算机学姐6 小时前
基于Python的在线考试系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
live丶7 小时前
从零实现一个低代码 H5 页面编辑器(Vue3 + 拖拽)
前端·vue.js
码界奇点8 小时前
基于Django REST framework与Vue的前后端分离后台管理系统设计与实现
vue.js·后端·python·django·毕业设计·源代码管理