应用编译成功但浏览器报TypeError: Cannot read properties of undefined (reading '_ansicursor')
浏览器运行时TypeError错误求助
应用构建编译成功,但在浏览器中抛出以下错误:
ansi.js:93 Uncaught TypeError: Cannot read properties of undefined (reading '_ansicursor') at ansi (ansi.js:93:1) at ./node_modules/nor-debug/src/debug.js (debug.js:47:1) at __webpack_require__ (bootstrap:83:1) at ./node_modules/fin-id/src/pankkiviivakoodi.js (pankkiviivakoodi.js:33:13) at __webpack_require__ (bootstrap:83:1) at ./node_modules/fin-id/src/index.js (index.js:35:22) at __webpack_require__ (bootstrap:83:1) at ./src/app/common/utils/utils.ts (key-filter.ts:8:2) at __webpack_require__ (bootstrap:83:1) at ./src/app/common/utils/index.ts (index.ts:1:1)
相关代码片段
key-filter.ts
export class KeyFilter { static allowNumbersAndComma(): RegExp { let a: RegExp = /[0-9,]/; return a; } }
index.ts
export * from './utils'; export * from './form-utils'; export * from './key-filter';
可行解决方向
- 处理
nor-debug兼容问题:这个库是为Node.js终端环境设计的,依赖终端专属的ansi模块,浏览器中没有process.stdout这类终端对象,才会触发_ansicursor读取失败。可以尝试替换fin-id库,或者手动修改其依赖,移除nor-debug的引用。 - 配置Webpack规避该模块:在Webpack配置里添加
externals,将nor-debug排除在打包范围外;或者用null-loader处理该模块,避免浏览器加载终端相关代码。 - 检查依赖版本:查看
fin-id是否有更新版本,是否已修复浏览器兼容问题;如果没有,考虑fork仓库后手动删除nor-debug的调试代码,改用浏览器兼容的调试逻辑。 - 简化依赖逻辑:确认
utils.ts中对fin-id的导入是否必要,若功能简单可直接实现相关逻辑,避免引入Node.js专属依赖。
内容的提问来源于stack exchange,提问作者Adil Khan
相关产品推荐
相关产品推荐

