导入打印稿定义
问题描述:
我使用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
答
你可以告诉有关声明文件的编译器中加入给你的打字稿代码检索:
/// <reference path='./../../types/fbsdk.d.ts'/>
然后,您可以用类似于import {Something} from "FB"
或import * as FB from "FB"
的语句导入FB模块。
啊,我所要做的只是添加引用,而不是*导入。谢谢! –