You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行npm start遇webpack正则表达式错误:字符类属性名无效,已尝试降级webpack

Webpack RuntimeTemplate正则表达式语法错误排查与解决

执行npm start时触发webpack内部模块的语法错误,错误源为/app/node_modules/webpack/lib/RuntimeTemplate.js文件第64行的正则表达式。已尝试降低webpack版本,当前环境配置:

  • Node.js:18.16.0
  • TypeScript:5.0.2

错误详情

/app/node_modules/webpack/lib/RuntimeTemplate.js:64
trimmed.match(/^[\p{L}_][_0-9\p{L}]*$/iu) ||
^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Invalid regular expression: /^[\p{L}_][_0-9\p{L}]*$/: Invalid property name in character class
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1176:20)
    at Module._compile (node:internal/modules/cjs/loader:1218:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/app/node_modules/webpack/lib/Compilation.js:53:25)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)

Node.js v18.16.0

问题原因

该错误源于webpack版本与Node.js 18的兼容性不匹配:
Node.js 18支持Unicode属性转义(\p{L}这类语法),但部分旧版webpack(低于5.74.0)的内部正则写法未适配Node.js 18的解析规则,反而触发语法错误;若使用过高版本webpack,也可能出现与项目旧依赖的兼容冲突。

解决步骤

  1. 匹配webpack与Node.js版本:
    安装与Node.js 18兼容的webpack版本,推荐webpack 5.74.0及以上版本,执行命令:
    npm install webpack@^5.74.0 --save-dev
    
  2. 清理依赖缓存并重装:
    删除本地依赖目录和锁文件,重新安装确保依赖完整性:
    rm -rf node_modules package-lock.json
    npm install
    
  3. 排查依赖冲突:
    查看webpack依赖树,确认是否有其他插件强制引入了不兼容的webpack版本:
    npm ls webpack
    
    若发现冲突包,可通过resolutions字段(npm需配合npm-force-resolutions工具)锁定webpack版本。

内容的提问来源于stack exchange,提问作者Abhishek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:05:37