带有键入的Javascript库不是模块(React Native)
我正在尝试按照建议将Javascript库(Microsoft Playfab)集成到我的React本机应用程序中。该库带有打字功能,其结构如图所示。我有一个文件带有键入的Javascript库不是模块(React Native),javascript,typescript,react-native,es6-modules,Javascript,Typescript,React Native,Es6 Modules,我正在尝试按照建议将Javascript库(Microsoft Playfab)集成到我的React本机应用程序中。该库带有打字功能,其结构如图所示。我有一个文件playfabWrapper.ts,其中包含以下内容 /// <reference path="../../node_modules/playfab-web-sdk/src/Typings/PlayFab/PlayfabClientApi.d.ts" /> import Playfab from 'playfab-web-
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) => {
...
});
}
然后我尝试从typings/Playfab复制打字,并将它们粘贴到与PlayFabClientApi.js
相同的位置。这给了我以下的错误
File '/Users/../project/node_modules/playfab-web-sdk/src/PlayFab/PlayFabClientApi.d.ts' is not a module.
有趣的是,如果我删除导入行,我的IDE可以正确地检测
Playfab
,但它总是未定义的。我错过什么了吗?这种库甚至可以导入吗?我注意到它没有索引.d.ts
,这会导致这个问题吗?任何帮助都将不胜感激。谢谢。是的,如果它没有任何类型信息(index.d.ts文件),您就不能这样导入它。您可以尝试var PlayFab=require(“…”)
(但这取决于您的上下文)。我尝试过,得到了一个未定义的不是对象的错误。我只是尝试使用PlayFabClientApi.js
中的函数。我对PlayFab不太熟悉,但如果你看看它的底部,它不会导出任何东西(需要通过导入使用它)。相反,它似乎将自己安装在Phaser对象上,但是如果没有Phaser对象,它就不会默默地执行任何操作。对不起,我帮不上忙了。嗯,好的。我知道Phaser是HTML5游戏框架,所以这可能是可选的支持。我会继续寻找,我感谢你的帮助。:)现在,我只使用Playfab REST API。如果我在这个问题上取得任何进一步进展,我将在此更新。
File '/Users/../project/node_modules/playfab-web-sdk/src/PlayFab/PlayFabClientApi.d.ts' is not a module.