Closed codering closed 8 years ago
初步来看是把 process.env.NODE_ENV
替换成 production
出现的问题,但是为何会这样还待分析,先升级到最新的 2.x 然后加上以下配置吧。
fis.hook('node_modules', {
env: 'development', // 永远都替换成 development
ignoreDevDependencies: true // 忽略掉 dev 模块,可以提速。
})
@2betop 升级到最新并加了上面的配置,有错
vendor.js:807 Uncaught ReferenceError: development is not defined
不好意思,配置错了, 应该用引号括起来。
fis.hook('node_modules', {
env: '"development"', // 永远都替换成 development
ignoreDevDependencies: true // 忽略掉 dev 模块,可以提速。
})
不设置env, 这个问题还存在的。 简单测试了下 process, react 开启uglify 后, 生成的代码就会有错,并不是全部,我现在用的antd的form表单才会出错
不知道为何,还是设置 env 吧。
今天专门花时间排查这个了问题,发现antd依赖的rc-form (getFieldProps)不能用于纯函数组件。因为纯函数组件创建完成后owner就变为null。 不过蛋疼的是, 在非生产环境下 ,这个owner又不是null ,所以开发的时候看不出问题! react这坑啊。。。。
然后又回去翻了下官网文档,发现rc-from, antd官网都有写相关说明,不知道什么时候加上去的。。。。 https://github.com/facebook/react/pull/6534
原来如此
demo https://github.com/codering/form-demo/tree/fis3-npm-2.x
没压缩前(npm run dev), 在输入框里输入没有问题 压缩后(npm run release), 在输入框里输入会报错