2016-02-10 70 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

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