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.ts - 视觉对象的主要源代码。 阅读有关视觉对象 API 的信息。
  • settings.ts - 视觉对象设置的代码。 文件中的类提供一个接口,用于定义视觉对象的属性

样式

此文件夹包含保存视觉对象样式的 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 文件的以下代码描述中的注释描述了元数据条目。 在打包视觉对象之前,需要某些元数据,例如作者的名字和电子邮件。

注意

{
  "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": []
}