2016-10-17 51 views
3

我正在嘗試學習打字稿,並且已經在this教程中設置了基本的打字稿結構。如何在打字稿中使用添加打字

我需要現在添加打字項目。所以我環顧四周,發現typings。然後我添加了JQuery,LodashD3使用類型。所以,我的項目結構看起來像現在這樣:

├── dist 
│   ├── chart.js 
│   ├── greet.js 
│   └── main.js 
├── gulpfile.js 
├── package.json 
├── src 
│   └── ts 
│    ├── chart.ts 
│    ├── greet.ts 
│    └── main.ts 
├── tsconfig.json 
├── typings 
│   ├── globals 
│   │   └── jquery 
│   │    ├── index.d.ts 
│   │    └── typings.json 
│   ├── index.d.ts 
│   └── modules 
│    ├── d3 
│    │   ├── index.d.ts 
│    │   └── typings.json 
│    └── lodash 
│     ├── index.d.ts 
│     └── typings.json 
└── typings.json 

這是我tsconfig.json文件:

{ 
    "files": [ 
     "src/ts/*.ts" 
    ], 
    "compilerOptions": { 
     "noImplicitAny": true, 
     "target": "es5" 
    } 
} 

我的問題是,我怎麼在我的main.ts文件中添加typings目錄*.d.ts文件,我有並開始使用jQuery的$或D3的d3

我注意到index.d.ts文件中typings它看起來像這樣:

/// <reference path="globals/jquery/index.d.ts" /> 
/// <reference path="modules/d3/index.d.ts" /> 
/// <reference path="modules/lodash/index.d.ts" /> 

所以我的猜測是,我只需要手動添加此文件在我main.ts文件中或在我的tsconfig.json文件的地方(而不是將每個.d.ts文件)。我對嗎?謝謝。

回答

3

打字稿2建議使用NPM的類型。見The Future of Declaration Files

所有你需要的應該是這樣的:

npm install --save @types/lodash @types/d3 @types/jquery 

和好到哪裏去。

+1

您不希望它們成爲開發依賴項。使用'save'而不是'save-dev'來使它們依賴。 – randominstanceOfLivingThing

+0

@randominstanceOfLivingThing好吧,我將它修改爲 - 保存在文章中。您可能能夠回答我創建的關於爲什麼這是必需的問題。謝謝。 http://stackoverflow.com/questions/40097488/typescript-2-saving-npm-types-typings-with-save-or-save-dev – RationalDev

+0

感謝您的信息。 – akshayKhot

2

您可以在tsconfig添加:

"files": [ 
    "src/ts/*.ts", 
    "typings/**/*.ts" 
] 

或只是

"files": [ 
    "src/ts/*.ts", 
    "typings/index.d.ts" 
] 
+0

謝謝Alex,我在'tssconfig.json'中添加了'index.d.ts'文件。現在我該如何讓'.ts'文件識別'$'和這些符號?我是否需要在我的'.ts'文件中添加/需要任何東西? – akshayKhot

+0

我添加了從'.jquery';'進口$;'也嘗試'從$ jquery導入$;'但得到以下錯誤:'不能罰款模塊jquery' – akshayKhot

+0

任何更新? – akshayKhot