最近将antd由2.11.0 升级到2.12.6,开发环境下没有问题,但生产环境中所有form表单在提交数据时,字段名会按字母自动嵌套,如 {username: 'aa', password: 'bb'}
,会被转成 {u: {s: {e: {r: {n: {a: m: {e: 'aa'}}}}}}, p: {a: {s: {s: {w: {o: {r: {d: 'bb'}}}}}}}}
仅凭有限的能力查看了下代码,发现 rc-form中引入了lodash/_baseSet.js,_baseSet.js通过require(xxx)而引入了5个不同的js,结果却又2个js引入了相同的文件且实际上都不正确
_baseSet.js代码:
打印出来的各js:
其中写的是 require('./_castPath'),但结果打印出来却是 ./identity.js导出的函数,所以导致了上述嵌套问题,但不知何原因会导致require的文件不对。
./_castPath.js的代码:
补充下版本号: antd-2.12.6, webpack-1.15.0
webpack插件lodash-webpack-plugin的问题,没有正确编译文件。