为什么react源码中会有类似下图这样的判断语句?(if("development" !== 'production'){...}
翻了大半天也想不明白,这样有什么用意吗?而且源码中还充斥这这种判断。。。
react 15.6版本
为什么react源码中会有类似下图这样的判断语句?(if("development" !== 'production'){...}
翻了大半天也想不明白,这样有什么用意吗?而且源码中还充斥这这种判断。。。
react 15.6版本
有两种用处
我们自己做开发的时候也可以这么用,在开发环境输出调试信息,但是在生产环境就不再输出某些信息了。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
这些都是编译后生成的,且只有没混淆过的代码是这样的,UglifyJS 处理之后的代码会将这些删除。真正的源码应该是类似这样的:
这个版本的 React 默认是开发模式,如果发布需要指定 NODE_ENV。另外你可以通过 UglifyJS 将这些代码处理掉。或者你可以直接引用混淆过的代码:
详情见:https://github.com/facebook/r...