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

JHipster单体应用执行mvnw编译出现两个webpack警告如何解决?

警告1:@reduxjs/toolkit 源映射文件解析失败

产生原因

  • @reduxjs/toolkit 部分历史版本的打包配置存在问题,官方发布到npm的安装包中没有包含module.js.map文件,但编译后的js文件头部仍保留了指向该源映射文件的注释,JHipster默认开启的source-map-loader加载时找不到对应文件就触发了警告
  • 该警告不影响项目正常运行,只会影响开发环境对redux相关代码的调试定位

修复方法

两种方案二选一即可:

  1. 升级@reduxjs/toolkit到最新稳定版,该路径配置错误已在后续版本被官方修复
npm install @reduxjs/toolkit@latest
# 若使用yarn则执行
yarn add @reduxjs/toolkit@latest
  1. 不需要升级的场景下,可在webpack配置中忽略对@reduxjs/toolkit的源映射加载,修改项目下webpack.common.js的module.rules规则,给source-map-loader添加排除规则:
module: {
  rules: [
    {
      test: /\.js$/,
      enforce: 'pre',
      use: ['source-map-loader'],
      exclude: /node_modules\/@reduxjs\/toolkit/,
    },
    // 其他原有规则保持不变
  ]
}

警告2:DefinePlugin 检测到process.env.NODE_ENV值冲突

产生原因

  • JHipster自动生成的webpack多环境配置中,多处重复定义了process.env.NODE_ENV变量,且不同配置文件的赋值不一致,webpack编译时检测到冲突就抛出警告
  • 也可能是引入的第三方依赖内部也通过DefinePlugin定义了该变量,和项目本身的配置值不匹配

修复方法

  1. 检查项目下的webpack.dev.js、webpack.prod.js、webpack.common.js三个配置文件,统一所有地方的process.env.NODE_ENV赋值,开发环境统一为development,生产环境统一为production
  2. 如果是默认生成的配置存在冲突,可以在DefinePlugin配置中显式优先覆盖该值:
new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV === 'production' ? 'production' : 'development'),
  // 其他原有配置保持不变
})
  1. 执行mvnw命令时可显式传入环境变量避免默认值冲突:
    Windows环境执行:
set NODE_ENV=development && mvnw

Linux/Mac环境执行:

NODE_ENV=development ./mvnw

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:12:02