根据传入条件向控制台输出警告消息的实用工具。
安装
安装该模块
npm install @wordpress/warning --save
此包假定你的代码将运行在 ES2015+ 环境中。如果你使用的环境对此类语言特性和 API 的支持有限或完全不支持,则应在代码中包含随 @wordpress/babel-preset-default 提供的 polyfill。
减小打包体积
字面量字符串不会被压缩。将它们保留在生产环境打包文件中可能会显著增加打包体积。
要避免这种情况,你应该:
- 将
@wordpress/warning/babel-plugin放入你的 Babel 配置,或使用@wordpress/babel-preset-default,其中已经包含该 Babel 插件。这将确保你的
warning调用被包裹在一个检查SCRIPT_DEBUG === true的条件中。 使用 UglifyJS、Terser 或任何其他可执行死代码消除的 JavaScript 解析器。这通常与 JavaScript 打包器(例如 webpack)一起使用。
当以
production模式解析代码时,warning调用将被完全移除。
API
default
如果环境不是 production,则显示带有 message 的警告。
用法
import warning from '@wordpress/warning';
function MyComponent( props ) {
if ( ! props.title ) {
warning( '`props.title` was not passed' );
}
...
}
参数
- message
string:警告中要显示的消息。
为该包做贡献
这是一个独立软件包,属于 Gutenberg 项目。该项目以 monorepo 形式组织,由多个自包含的软件包组成,每个包都有特定用途。此 monorepo 中的软件包发布到 npm,并由 WordPress 以及其他软件项目使用。
要了解有关为该包或整个 Gutenberg 项目做贡献的更多信息,请阅读项目的主要贡献者指南。