0

我正在使用Angular-CLI创建一个 Web 应用程序,但在导入facebook 类型定义时遇到了问题。具体来说,他们声明:

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 Code 来识别类型和编译工作,但是当应用程序重新加载时,它尝试访问/FB它会给出 404 错误,因为它不存在。我创建的所有模块都在打字稿文件所在的相对目录中访问,例如 Facebook 模块是从/app/services/facebook/facebook.js

4

1 回答 1

1

您可以通过将其添加到您的 TypeScript 代码中来告诉编译器声明文件:

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

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

于 2016-02-10T22:14:28.897 回答