Javascript Библиотека с типами не является модулем (React Native) - PullRequest
1 голос
/ 12 января 2020

Я пытаюсь интегрировать библиотеку Javascript (Microsoft Playfab) в свое приложение React Native в соответствии с рекомендациями здесь . Библиотека поставляется с наборами текста и имеет структуру, показанную здесь . У меня есть файл playfabWrapper.ts со следующим.

/// <reference path="../../node_modules/playfab-web-sdk/src/Typings/PlayFab/PlayfabClientApi.d.ts" />

import Playfab from 'playfab-web-sdk/src/PlayFab/PlayFabClientApi.js';

function test(titleId: string, customId: string/*, success: (data: PlayFabClientModels.LoginResult) => void, error: (message: string) => void*/): void {
    Playfab.ClientApi.LoginWithCustomID({
        TitleId: titleId,
        CustomId: customId,
        CreateAccount: true,
    }, (result: any, problem: any) => {
        ...
    });
}

Это дает мне ошибку

Could not find a declaration file for module 'playfab-web-sdk/src/PlayFab/PlayFabClientApi.js'. '/Users/../project/node_modules/playfab-web-sdk/src/PlayFab/PlayFabClientApi.js' implicitly has an 'any' type.
Try `npm install @types/playfab-web-sdk` if it exists or add a new declaration (.d.ts) file containing `declare module 'playfab-web-sdk/src/PlayFab/PlayFabClientApi.js';`

Затем я попытался скопировать наборы из Typings / Playfab и вставить их в тот же расположение как PlayFabClientApi.js. Это дает мне следующую ошибку:

File '/Users/../project/node_modules/playfab-web-sdk/src/PlayFab/PlayFabClientApi.d.ts' is not a module.

Интересно, что если я удалю строку импорта, моя IDE сможет правильно определить Playfab, но она всегда не определена. Я что-то пропустил? Можно ли импортировать такую ​​библиотеку? Я заметил, что у него нет index.d.ts, это может способствовать проблеме? Любая помощь будет оценена. Благодаря.

1 Ответ

1 голос
/ 12 января 2020

Да, если у него нет информации о типе (файл index.d.ts), вы не сможете импортировать его таким образом. Вы можете попробовать var PlayFab = require("...") (но это зависит от вашего контекста).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...