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

Webpack 5无法解析'timers'模块问题求解(已尝试部分方案)

解决Webpack 5中'timers'模块找不到的问题

你已经尝试了安装timers-browserify和设置resolve.fallback: { "timers": false },这里还有几个可行的解决方向:

  • 升级xml2js到最新版本
    旧版xml2js可能依赖Node.js的timers核心模块,新版本大概率已经适配了浏览器/Webpack 5环境。执行命令更新:

    npm update xml2js
    # 或者直接安装最新版
    npm install xml2js@latest
    
  • 针对Angular项目(ngx-admin)调整Webpack配置
    ngx-admin基于Angular,直接修改根目录的webpack.config.js可能不生效,需要用自定义Webpack配置工具:

    1. 安装依赖:
      npm install @angular-builders/custom-webpack --save-dev
      
    2. 在项目根目录创建custom-webpack.config.js,添加配置:
      module.exports = {
        resolve: {
          fallback: {
            "timers": require.resolve("timers-browserify")
            // 或者设置为false:"timers": false
          }
        }
      };
      
    3. 修改angular.json,将构建器替换为@angular-builders/custom-webpack:browser,并指定自定义配置文件:
      "architect": {
        "build": {
          "builder": "@angular-builders/custom-webpack:browser",
          "options": {
            "customWebpackConfig": {
              "path": "./custom-webpack.config.js"
            },
            // ...其他原有配置
          }
        }
      }
      
  • 使用Node核心模块Polyfill插件
    用node-polyfill-webpack-plugin一次性处理所有Node核心模块的Polyfill需求,避免逐个配置:

    1. 安装插件:
      npm install node-polyfill-webpack-plugin --save-dev
      
    2. 在Webpack配置文件中引入并使用:
      const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
      
      module.exports = {
        // ...其他配置
        plugins: [
          new NodePolyfillPlugin()
        ]
      };
      
  • 排查依赖树,定位间接引用源
    有些情况下,可能是其他依赖包间接引入了旧版xml2js或依赖timers的模块。执行命令查看依赖树:

    npm ls timers
    

    根据输出找到对应的依赖包,尝试升级该包或者通过npm dedupe来整理依赖版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:10:30