Power BI 视觉对象项目结构
开始创建新 Power BI 视觉对象的最佳方式是使用 Power BI 视觉对象 pbiviz 工具。
若要创建新的视觉对象,请导航至想要存储 Power BI 视觉对象的目录,然后运行以下命令:
pbiviz new <visual project name>
运行此命令将创建 Power BI 视觉对象文件夹,其中包含以下文件:
project
├───.vscode
│ ├───launch.json
│ └───settings.json
├───assets
│ └───icon.png
├───node_modules
├───src
│ ├───settings.ts
│ └───visual.ts
├───style
│ └───visual.less
├───capabilities.json
├───package-lock.json
├───package.json
├───pbiviz.json
├───tsconfig.json
└───tslint.json
文件夹和文件说明
此部分介绍了 Power BI 视觉对象“pbiviz”工具所创建目录中的各个文件夹和文件。
.vscode
此文件夹包含 VS Code 项目设置。
要配置工作区,请编辑 .vscode/settings.json
文件。
有关详细信息,请参阅用户和工作区设置。
资产
此文件夹包含 icon.png
文件。
Power BI 视觉对象工具使用此文件作为 Power BI 可视化效果窗格中的新 Power BI 视觉对象图标。 此图标必须是 PNG 文件,且大小为 20 × 20 像素。
src
此文件夹包含视觉对象的源代码。
在此文件夹中,Power BI 视觉对象工具会创建以下文件:
样式
此文件夹包含保存视觉对象样式的 visual.less
文件。
capabilities.json
此文件包含视觉对象的主要属性和设置(或功能)。 它允许视觉对象声明支持的功能、对象、属性和数据视图映射。
package-lock.json
对于 npm 修改了 node_modules
树或 package.json
文件的任何操作,将自动生成此文件。
有关此文件的详细信息,请参阅官方 npm-package-lock.json 文档。
package.json
此文件描述了项目包。 它包含有关作者、说明和项目依赖项等项目信息。
有关此文件的详细信息,请参阅官方的 npm-package.json 文档。
pbiviz.json
此文件包含视觉对象元数据。
若要查看 pbiviz.json
文件(包含说明元数据条目的注释)的示例,请参阅元数据条目部分。
tsconfig.json
TypeScript 的配置文件。
此文件必须包含 *.ts 文件的路径,在该文件中,将在 pbiviz.json
文件的 visualClassName
属性中指定视觉对象主类的位置。
tslint.json
此文件包含 TSLint 配置。
元数据条目
pbiviz.json
文件的以下代码描述中的注释描述了元数据条目。 在打包视觉对象之前,需要某些元数据,例如作者的名字和电子邮件。
注意
- 从“pbiviz”工具的版本 3.x.x 开始,不再支持
externalJS
。 - 版本号应包含以下格式的四位数字:
x.x.x.x
。 - 为获得本地化支持,将 Power BI 区域设置添加到你的视觉对象。
{
"visual": {
// The visual's internal name.
"name": "<visual project name>",
// The visual's display name.
"displayName": "<visual project name>",
// The visual's unique ID.
"guid": "<visual project name>23D8B823CF134D3AA7CC0A5D63B20B7F",
// The name of the visual's main class. Power BI creates the instance of this class to start using the visual in a Power BI report.
"visualClassName": "Visual",
// The visual's version number.
"version": "1.0.0.0",
// The visual's description (optional)
"description": "",
// A URL linking to the visual's support page (optional).
"supportUrl": "",
// A link to the source code available from GitHub (optional).
"gitHubUrl": ""
},
// The version of the Power BI API the visual is using.
"apiVersion": "2.6.0",
// The name of the visual's author and email.
"author": { "name": "", "email": "" },
// 'icon' holds the path to the icon file in the assets folder; the visual's display icon.
"assets": { "icon": "assets/icon.png" },
// Contains the paths for JS libraries used in the visual.
// Note: externalJS' isn't used in the Power BI visuals tool version 3.x.x or higher.
"externalJS": null,
// The path to the 'visual.less' style file.
"style": "style/visual.less",
// The path to the `capabilities.json` file.
"capabilities": "capabilities.json",
// The path to the `dependencies.json` file which contains information about R packages used in R based visuals.
"dependencies": null,
// An array of paths to files with localizations.
"stringResources": []
}