2016-11-30 43 views
0

我從tsd和後來的類型開始,我們必須從這些源安裝並在服務器文件中提供參考,但現在我們可以使用@ types/filename獲取聲明文件,我不知道我們爲什麼從tsd和typings中移出,現在我們在@types。如何在節點/ express項目中使用definitly類型的文件

如何將這些聲明文件用於我的平均項目中,我不知道如何導入或如何使它功能並獲取智能和類型檢查。

我有2個文件夾在我的項目,服務器和客戶端,客戶端有棱角和所有前端的東西,並且服務器文件夾(關於節點)有package.json,server.ts,node_modules和tsconfig文件,這裏是tsconfig文件server.ts:其拋出出錯找不到模塊@類型/表達

{ 
"compilerOptions": { 
    "target": "ES5", 
    "module": "commonjs", 
    "typeRoots" : ["./node_modules/@types"], 
    "moduleResolution": "node" 
} 
} 

import * as express from "@types/express"; 
var app = express(); 

app.get('/', function (req, res) { 
res.send('Hello World!') 
}) 

app.listen(3000, function() { 
console.log('Example app listening on port 3000!') 
}) 

這是的package.json:

{ 
"name": "server", 
"version": "1.0.0", 
"description": "quiz application backend", 
"main": "index.js", 
"scripts": { 
"test": "echo \"Error: no test specified\" && exit 1" 
}, 
"author": "", 
"license": "ISC", 
"dependencies": { 
"@types/express": "^4.0.34", 
"express": "^4.14.0" 
} 
} 

謝謝!

+0

哪些打字稿版本?請提供一些代碼:tsconfig,server.ts? – lenny

+0

我沒有列入server.ts由於IM沒有得到任何智能感知,即時消息包括包含tsconfig – blackHawk

+0

tsconfig,但嘗試:'「moduleResolution」:「節點」' – blackHawk

回答

0

隨着打字稿2,你只需要通過NPM安裝分型:

npm install @types/lodash --save 

,並開始使用它在你的TS文件:

import * as _ from "lodash"; 
_.padStart("Hello TypeScript!", 20, " "); 

智能感知等會工作,不需要舊的/// <reference path="..." />語法。

+0

我這樣做是爲了表達,像這樣npm install @ types/express it created @types文件夾在node_module中它和它已經鍵入文件index.d.ts和相關文件,現在當im導入像這樣的導入時*從「@ types/express」中表達; var app = express();它不給我任何intelisence – blackHawk

+0

你可以嘗試添加到你的'tsconfig.json' compilerOptions:''typeRoots「:[」./node_modules/@types「]' – lenny

+0

它仍然沒有intelisence,應用程序變量是任何類型 – blackHawk

相關問題