2016-09-26 158 views
2

我只是前端Web DEVELOPPEMENT(JavaScript的地狱与所有这些包管理器/捆绑)开始,我尝试使用打字稿+ browsify打字稿进口与节点

所以我创建了一个index.ts文件并下载uniq模块(使用NPM)只是为了测试TS文件编译

这里是我的index.ts

/// <reference path="node_modules/uniq/uniq.d.ts" /> 
import {unique} from "uniq"; 

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6]; 

console.log(unique(data)); 

uniq.d.ts

// Type definitions for uniq 
// Project: https://www.npmjs.com/package/uniq 
// Definitions by: Hans Windhoff <https://github.com/hansrwindhoff> 
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped 


interface Uniq{ 
    <T>(ip:Array<T>): Array<T>; 
} 

declare var uniq :Uniq; 

declare module "uniq" { 
export = uniq; 
} 

目录结构

. 
├── entry.ts 
├── node_modules 
│   └── uniq 
│    ├── LICENSE 
│    ├── package.json 
│    ├── README.md 
│    ├── test 
│    │   └── test.js 
│    ├── uniq.d.ts 
│    └── uniq.ts 
└── package.json 

但是当我尝试编译index.ts我得到这个错误:

error TS2688: Cannot find type definition file for 'uniq'. 
+0

您是否为它安装了'typings'定义?您目前的参考指向typings文件夹中的定义文件,但我没有在您的目录结构中看到该文件。 –

+0

@DaveV修复错误,我只是验证d.ts文件不需要与.js文件在同一文件夹中,仍然无法工作 – karim

回答

2

第一

你可能有路径错误:

/// <reference path="node_modules/uniq/uniq.d.ts" /> 

也许../../node_modules/uniq/uniq.d.ts。而不是像这样britle路径,请使用tsconfig.jsonhttps://basarat.gitbooks.io/typescript/content/docs/project/tsconfig.html

基础上.d.ts你表现出你的进口import {unique} from "uniq";也是错误的。它应该是import unique = require('uniq'),因为它只有一个函数导出。首先修复后,您会收到有关此错误的信息。享受