第三方应用级别临时打字

时间:2016-07-06 06:11:38

标签: typescript angular typescript-typings

关于如何在anuglar2 quickstart项目中使用自定义类型的事情。

我使用outlayerhttps://github.com/metafizzy/outlayer作为示例。

我已配置systemjs来加载依赖项。它可用于import * as outlayer from "outlayer";,但我仍然遇到编译错误Cannot find module 'outlayer'.

要解决此问题,已将一个打字文件outlayer.d.ts直接添加到node_modules/outlayer目录,并将package.json更新为包含"typings": "./outlayer.d.ts",

//outlayer.d.ts

declare module Outlayer {

  function create(str:string):any;
}

export = Outlayer;

由于显而易见的原因,将此文件直接添加到node_module是不太理想的。在不必拆分库的情况下处理这个问题的更好方法是什么?更好的是,我怎样才能在应用程序级别获得简单/快速的打字,这样我就不必担心立即写出整个内容?例如,如果我现在尝试使用data函数,我会看到Property 'data' does not exist on type 'typeof Outlayer'

总而言之,只需要能够编写一个自定义应用程序级别的打字,但没有所有的好处,但也没有说出所有的错误。一种临时打字。

谢谢!

1 个答案:

答案 0 :(得分:1)

以下是您需要做的事情:

  1. 在某处创建文件(例如custom-typings/outlayer.d.ts
  2. 将其设为脚本文件(全局类型):

    declare module 'outlayer' {
      function create(str: string): any;
    }
    
  3. 使用typings install file:custom-typings/outlayer.d.ts --global

  4. 安装

    看看它是否有帮助。

    编辑:更新了上面的第3步,添加了--global