SPFX расширение не связано ApplicationCustomizerContext тип TSC ошибка

Я столкнулся с трудностями при работе с типом ApplicationCustomizerContext с использованием TypesSript

1) Я создал настройщик приложений spfx

2) Я добавил в настройщик приложения основной файл TS:

import ApplicationCustomizerContext from "@microsoft/sp-application-base/lib/extensibility/ApplicationCustomizerContext";

3) И к его методу onInit() добавлено:

 var ctx: ApplicationCustomizerContext = this.context;

Компилятор TypeScript (версия 2.4.2) завершился ошибкой:

ошибка TS90010: тип "ApplicationCustomizerContext" не может быть назначен типу "ApplicationCustomizerContext". Существуют два разных типа с этим именем, но они не связаны.

Знаете ли вы случайно, как должен быть определен импорт, чтобы машинопись не жаловалась?

дополнительная информация: проект был создан с использованием "@ microsoft / generator-sharepoint 1.5.1

"environment": "spo",
"version": "1.5.1",
"packageManager": "npm",
"componentType": "extension",
"extensionType": "ApplicationCustomizer"

tsconfig.json оставил нетронутым (как сгенерировано изначально)

  "compilerOptions": {
    "target": "es5",
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "jsx": "react",
    "declaration": true,
    "sourceMap": true,
    "experimentalDecorators": true,
    "skipLibCheck": true,
    "typeRoots": [
      "./node_modules/@types",
      "./node_modules/@microsoft"
    ],
    "types": [
      "es6-promise",
      "webpack-env"
    ],
    "lib": [
      "es5",
      "dom",
      "es2015.collection"
    ]

1 ответ

Решение

Похоже, есть некоторые изменения в способе импорта ApplicationCustomizerContext в SPFx v1.5.1 по сравнению с тем, как это было сделано в 1.4.1

Измените свое заявление на импорт, как показано ниже:

import { ApplicationCustomizerContext } from "@microsoft/sp-application-base";
Другие вопросы по тегам