cc-ext-uxp 类型
Adobe UXP(统一扩展平台)的类型定义.
UXP( 统一扩展平台) 由现代JavaScript引擎提供动力,提供UI组件的全程选择和更简化的工作流程供插件开发者为UXP驱动主机应用程序(如Adobe Photoshop,Adobe InDesign和Adobe XD)构建插件. UXP提供了一组常见的JavaScript API,这些主机应用程序中可以提供,并且这些常见的UXP JavaScript API在此repo中可以使用的类型. 这些类型是使用UXP代码库内部的脚本自动生成的.
说明: 主机应用程序的类型定义,条件是JavaScript API在单独的repo中存在,需要单独安装.
安装
如何下载/安装 UXP 类型定义到您的机器上的指示 .
示例
npm install @adobe/cc-ext-uxp-types
配置
对于在代码编辑器中使用UXP类型定义,需要创建 tsconfig. json 在您的打字框中添加引用编译器选项中的类型声明.
为了确保UXP类型与现有的网络标准DOM类型不相冲突,更新所需的lib选项以排除这些标准类型. (参考: https://www.typescriptlang.org/tsconfig#lib 互联网档案馆的存檔,存档日期2013-12-21(中文(简体) )
注意: 请为 JavaScript 工程使用 jsconfig.json
ts/jsconfig.json (英语:
{
"compilerOptions": {
..., // your existing configuration
// typeRoots override defaults, so be sure to include the implicit @types as well
"typeRoots": [
"node_modules/@types",
"node_modules/@adobe/cc-ext-uxp-types"
],
// Note that "DOM" is not included in lib options to exclude web DOM types
"lib": ["ES2015"] // required ES version
}
}
一旦设置了配置,您就可以对类型建议、 API 使用和信息、 自动导入等类型定义施加杠杆作用
已知问题
- UXP代码主要用JavaScript来写出,并非类型定义中的所有参数都与准确类型一起明确指定. 因此,你可能会遇到一些参数的"任何"类型.
- 目前还没有关于一些UXP支持的全局的类型定义,例如"窗口","导航".
请参看 UXP 文档 用于现有类型. - 继承属性显示 eg 的衍生类而非基类名称( 内部库中已知的问题正在使用)
const document = new Document();
document.isConnected();
类型信息将显示 isConnected 作为 Document (继承)而不是基础类 Node 在这里.
- 当元素与文档一起创建时, Typedef API 建议将不会出现 。 创建 Element API 用于 :
const img = document.createElement("img");
img 将不会按照当前限制显示预期的类型建议.
然而,通过下列构造器创建的元素将显示预期的正确类型:
const imgElement = new HTMLImageElement();
请注意,我们将逐步改进类型定义,并增加UXP API的准确类型以及上述一些问题. 如果你遇到任何问题或有改进建议,请随意报告,作为问题.
许可证发放
见 自由主义 更多信息.