Angular集成ZeroMQ时path模块polyfill fallback配置位置咨询
解决Angular中ZeroMQ.js的Webpack Path模块Fallback配置问题
要配置Webpack的resolve.fallback,你需要通过自定义Webpack配置文件来修改,因为Angular默认不会暴露原生Webpack配置,之前修改的@aminya/node-gyp-build/package.json、根目录tsconfig.json或angular.json都不是正确的位置。具体步骤如下:
安装必要依赖
先安装自定义Webpack构建器和path的浏览器兼容包:npm install @angular-builders/custom-webpack path-browserify --save-dev创建自定义Webpack配置文件
在项目根目录新建webpack.config.js,添加以下内容:module.exports = { resolve: { fallback: { "path": require.resolve("path-browserify") } } };如果不需要
path模块的功能,也可以直接设为false:module.exports = { resolve: { fallback: { "path": false } } };修改Angular构建配置
打开项目根目录的angular.json,找到projects下你的应用配置,修改architect.build.builder和architect.serve.builder为自定义构建器,并指定配置文件路径:"projects": { "your-app-name": { "architect": { "build": { "builder": "@angular-builders/custom-webpack:browser", "options": { "customWebpackConfig": { "path": "./webpack.config.js" }, // 保留原有其他配置... } }, "serve": { "builder": "@angular-builders/custom-webpack:dev-server", "options": { "customWebpackConfig": { "path": "./webpack.config.js" }, // 保留原有其他配置... } } } } }验证配置
重新执行构建或启动开发服务器:ng build # 或 ng serve
这样就能正确配置Webpack的path模块fallback,解决ZeroMQ.js的构建报错问题。
内容的提问来源于stack exchange,提问作者user888379
相关产品推荐
相关产品推荐

