打字稿错误,找不到名称'gapi',转换失败

时间:2017-01-01 15:27:05

标签: typescript ionic-framework ionic2 google-oauth2 typescript2.0

我尝试在我的ionic2应用中实现google auth。我需要它在浏览器中工作。所以,我安装了:

npm install --save @types/gapi
npm install --save @types/gapi.auth2

有两个警告:

  

npm WARN可选SKIPPING OPTIONAL DEPENDENCY:fsevents@^1.0.0   (node_modules \ chokidar \ node_modules \ fsevents):

     

npm WARN notsup   跳过可选的依赖性:不支持的平台   fsevents@1.0.15:want {“os”:“darwin”,“arch”:“any”}(当前:   { “OS”: “的win32”, “拱”: “64”})

在node_modules文件夹中我有gapi和gapi.auth2文件夹,但我有打字稿错误:找不到名称'gapi',transile失败。

我安装了

npm install typings -g
typings install dt~gapi --global --save
typings install dt~gapi.auth2 --global --save

仍然有同样的错误:找不到名字'gapi',transile失败

我的代码:

auth2: any;

login() {
      gapi.load('auth2', () => {
          this.auth2 = gapi.auth2.init({
             client_id: 'xxxxxxxxx.apps.googleusercontent.com',
             scope: 'https://www.googleapis.com/auth/userinfo.email'
          });
        });
      };

我的package.json:

"@angular/core": "2.2.1",
"ionic-angular": "2.0.0-rc.4",
"ionic-native": "2.2.11",
"rxjs": "5.0.0-beta.12",
"typescript": "2.0.9"

1 个答案:

答案 0 :(得分:5)

The current declarations for gapifor gapi.auth2是全局声明。

他们可能不会自动与@types一起使用,因为查看node_modules要么需要明确的import,要么将您的库添加到types tsconfig.json字段中

因此,请尝试将以下types字段修改为compilerOptions

"compilerOptions": {
     "types": ["gapi", "gapi.auth2"]
}