reactjs - PropTypes:对捆绑包大小的影响?
解决方案
这取决于您如何构建项目。如果您使用webpack并设置process.env.NODE_ENV
为production
thanPropTypes
不包括对您的包的整个类型检查
您可以检查source code
以了解每个环境的捆绑包中将包含哪些内容。
if (process.env.NODE_ENV !== 'production') {
var ReactIs = require('react-is');
// By explicitly using `prop-types` you are opting into new development behavior.
var throwOnDirectAccess = true;
module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);
} else {
// By explicitly using `prop-types` you are opting into new production behavior.
module.exports = require('./factoryWithThrowingShims')();
}
factoryWithThrowingShims
只需为所有 PropTypes 方法提供填充程序,以避免在生产环境中从 PropTypes 调用某些方法时代码中出现异常。这意味着只有在不等于PropTypes/factoryWithTypeCheckers.js
时才会包含from 的整个代码。如果你需要完全(甚至)从你的代码中移除,你需要使用一些babel 插件。process.env.NODE_ENV
production
Shims
PropTypes
推荐阅读
- angular - Angular JHipster 项目中的自定义日期选择器选项
- css - 从屏幕中间到左角的动画徽标
- windows - 致命错误:未捕获错误:升级到 5.5 时调用未定义函数 wp_unregister_GLOBALS()
- mysql - 官方文档网站上的 MySQL 轴顺序无效
- javascript - Node.js 响应 API 与 Express.js 响应 API
- r - 为什么我用 R 抓取 Twitter 数据,收集到的推文不是完整的句子?
- docker - 如何阅读牧场主的秘密?
- python - 使用 selenium python 进行网页抓取
- r - abs(x) 中的错误:数学函数 R lang 的非数字参数
- javascript - 错误覆盖其他组件