入门
//在packages/block-editor/private-apis.js中: 从“@wordpress/private-apis”导入{__dangerousOptInToUnstableAPIsOnlyForCoreModules}; 导出常量{锁定,解锁}= __危险的OptInTo不稳定AP仅适用于核心模块( “我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。”, “@wordpress/block-editor”//调用__dangerousOptInToUnstableAPIsOnlyForCoreModules的包的名称, //(不是要访问其API的包的名称) );
第一个参数必须与所需的同意字符串完全匹配: “我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。” . 第二个参数必须是已知参数 @文字出版社 尚未加入的程序包 @文字新闻/私人广告
//假设此对象是从包中导出的: 导出const publicObject={}; //但是,此字符串是内部字符串,不应公开: const __terialString=“__terial信息”; //解决方案:锁定对象的“内部”字符串: 锁(publicObject,__experialString); //字符串未嵌套在对象中,无法从中提取: console.log(公共对象); // {} //访问字符串的唯一方法是“解锁”对象: console.log(unlock(publicObject)); //“____实验信息” //lock()接受所有数据类型,而不仅仅是字符串: 导出constantanotherObject={}; lock(另一个对象,函数__terialFn(){}); console.log(解锁(另一个对象)); //函数__testerialFn(){}
//在packages/package1/index.js中: 从'导入{lock}/ 锁定-解锁'; 导出const privateApis={}; /*将专用数据附加到导出的对象*/ 锁(私人Apis{ __实验函数:函数(){}, } ); //在packages/package2/index.js中: 从“@wordpress/package1”导入{privateApis}; 从'导入{unlock}/ 锁定-解锁'; const{__terialFunction}=解锁(私有Apis);
装运实验API
技术限制
实现私有导入系统的存在 阅读用大写字母表示风险的代码 明确地键入他或她意识到了后果 假装注册 @文字出版社 包(并在加载真正的包后立即触发错误)
参与此包
更新同意字符串
提出一个新的同意字符串,该字符串应该提到选择不稳定和私有功能的主题或插件在WordPress的未来版本中会中断。 确保之前未使用同意字符串。 将新字符串追加到下面的历史列表中。 替换以下位置的同意字符串: 在上述文档中出现两次 在中 src/implementation.js 此包的文件 在中 src/lock-unlock.js 位于使用私有API的包中的文件 在完整的代码库中搜索任何其他事件
同意字符串历史
我知道使用不稳定的特性意味着我的插件或主题将不可避免地在下一个WordPress版本中中断。 我知道使用不稳定的功能意味着我的主题或插件将不可避免地在WordPress的下一个版本中中断。 我承认私有功能不适用于主题或插件,这样做会在下一版本的WordPress中中断。