1、问题描述
在项目中某一页面,在本地初次运行时一切正常,但是在对页面进行编辑后,就直接报错了,看报错原因,是stylus模块引发的 Maximum call stack size exceeded(超过了最大调用堆栈大小),Jenkins打包时也失败,各种方法都试过了还是解决不了,报错如下:
2、解决方案
尝试降低stylus、stylus-loader版本,发现依旧报错。经过多方查询多方尝试,发现问题可能是因为此页面的代码行数太多了,它是一个复杂的表单提交,大约有上百个字段,字段声明、字段验证,再加上处理逻辑、样式,差不多能有将近5500行代码。于是决定将字段声明、字段验证(将近600行代码)单独摘出来一个文件后引入,此时再运行,竟然正常了,然后打包,也一切正常。实际上,一个页面的代码不宜太多,倒没有明确说超过多少行就必须拆分,但是单页面行数最好不要超过300-600行。
(完)