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

Angular项目安装@cardano-sdk/core时path模块解析失败求助

解决Angular 14中安装@cardano-sdk/core时的Node核心模块缺失问题

核心问题原因

Angular 14基于Webpack 5构建,而Webpack 5不再默认提供Node.js核心模块的polyfill。你直接修改根目录的webpack.config.js不会生效,因为Angular CLI默认不会读取该文件,必须通过自定义Webpack配置来覆盖默认设置。

解决步骤

1. 安装自定义Webpack构建工具

安装与Angular 14版本匹配的自定义Webpack构建依赖:

npm install --save-dev @angular-builders/custom-webpack@14

2. 修改angular.json配置

找到angular.json中architect.build和architect.serve节点,替换为自定义Webpack的构建器:

"architect": {
  "build": {
    "builder": "@angular-builders/custom-webpack:browser",
    "options": {
      "customWebpackConfig": {
        "path": "./webpack.config.js"
      },
      // 保留原有的outputPath、index、main等其他配置项
    }
  },
  "serve": {
    "builder": "@angular-builders/custom-webpack:dev-server",
    "options": {
      "browserTarget": "tez-front:build"
    }
  }
}

3. 调整Webpack配置文件

更新webpack.config.js,补充完整的fallback配置和必要插件:

const webpack = require('webpack');

module.exports = {
  resolve: {
    fallback: {
      "path": require.resolve("path-browserify"),
      "fs": false,
      "buffer": require.resolve("buffer/")
    }
  },
  plugins: [
    new webpack.ProvidePlugin({
      Buffer: ['buffer', 'Buffer']
    })
  ]
};

4. 确认依赖安装

确保所有所需polyfill依赖已安装:

npm install --save-dev path-browserify buffer

5. (可选)补充全局polyfill

若仍存在Buffer相关报错,在src/polyfills.ts中添加全局声明:

import { Buffer } from 'buffer';
(window as any).Buffer = Buffer;

测试运行

执行ng serve重启项目,即可正常编译。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 11:22:19