2016-02-10 51 views
0

我使用Angular-CLI来创建Web应用程序,并且无法导入facebook type definitions。特别是他们宣称的:导入打印稿定义

interface Window{ 
    fbAsyncInit() : any; 
} 

declare module "FB" { 
    export = FB; 
} 

declare var FB : FBSDK; 

在我的应用程序src目录下我有app/services/facebook/facebook.ts这个:

import {Injectable} from 'angular2/core'; 
import {FB} from './../../types/fbsdk.d.ts'; 

,并在新的类型目录facebook的定义,我创建:app/types/fbsdk.d.ts。在编译时,我得到的错误是:

File 'app/types/fbsdk.d.ts' is not a module. 

我已经尝试了一些其他的东西,但还没有找到任何工作。


编辑

我的Visual Studio代码识别的类型和工作编译,但是当应用程序重新加载它试图访问/FB,因为它不”,这给出了一个404错误不存在。我创建了一个相对的目录所在的打字稿文件是被访问的所有模块,例如Facebook的模块从/app/services/facebook/facebook.js

回答

1

你可以告诉有关声明文件的编译器中加入给你的打字稿代码检索:

/// <reference path='./../../types/fbsdk.d.ts'/> 

然后,您可以用类似于import {Something} from "FB"import * as FB from "FB"的语句导入FB模块。

+0

啊,我所要做的只是添加引用,而不是*导入。谢谢! –