小编nbr*_*wne的帖子

如何正确导入和使用MSAL(js的Microsoft身份验证库)到打字稿反应单页面应用程序?

问题

我似乎无法将MSAL库正确导入到我的打字稿代码中.我正在使用带有react-typescript脚本的create-react-app 搭建的简单打字稿/反应项目中使用MSAL for JS库(应该有打字).我是打字稿的新手,不知道我是否遗漏了一些明显的东西,或者当它与打字稿项目一起使用时,是否存在MSAL包的问题.

细节:

  1. 我使用NPM添加了MSAL包npm install --save msal.
  2. 我尝试使用不同的形式将MSAL导入我的.ts import {Msal} from 'msal';
  3. 这会导致打字稿错误 Could not find a declaration file for module 'msal'. '<path>/node_modules/msal/out/msal.js' implicitly has an 'any' type.
  4. 想到这很奇怪,我查看了node_module/msal/out文件夹并看到了一个'msal.d.ts'文件,这就是我所期望的.
  5. 当我查看msal.d.ts文件的内容时,我没有看到任何导出,我通常希望看到.
  6. 我尝试使用@types安装声明npm install --save-dev @types/msal,但它不存在.
  7. 我也尝试使用它将其导入到我的文件中let Msal = require('Msal');,但是得到一个错误,即Msal.UserAgentApplication不是构造函数.
  8. 我没有太多运气试图使用/// reference指令并向主index.html添加脚本标记.这也不是解决问题的正确方法.

ExampleMsal.ts

import { observable, action, computed } from 'mobx';
import * as Msal from 'msal'; // <-- This line gives the error

class ExampleMsal{
    @observable 
    private …
Run Code Online (Sandbox Code Playgroud)

javascript typescript azure-ad-msal typescript-typings

18
推荐指数
4
解决办法
1万
查看次数