2016-09-23 7 views
14

का उपयोग करके टाइपिंग से @types में स्थानांतरित करना मैंने अपने वेब प्रोजेक्ट (विजुअल स्टूडियो 2015 समुदाय) से टाइपिंग को हटाने और नए एनपीएम @ टाइप्स (टाइपस्क्रिप्ट 2.0.3) के माध्यम से d.ts फ़ाइलों को स्थापित करने का प्रयास किया है।) package.json में:विजुअल स्टूडियो और टाइपस्क्रिप्ट 2.0.3

"dependencies": { 
    "@types/angular": "^1.5.8", 
    "@types/angular-cookies": "^1.4.2", 
    "@types/angular-local-storage": "^0.1.33", 
    "@types/angular-material": "^1.1.37", 
    "@types/angular-translate": "^2.4.33", 
    "@types/lodash": "^4.14.36" 
    } 

दृश्य स्टूडियो के IntelliSense से पहले typings के साथ अच्छी तरह से काम किया है क्योंकि मैं अपने वी.एस. परियोजना में typings फ़ोल्डर शामिल थे। एनपीएम प्रकार node_modules/@types फ़ोल्डर में स्थापित करता है। अब मेरी समस्या है। मैं वास्तव में वीएस प्रोजेक्ट में node_modules से कुछ भी शामिल नहीं करना चाहता हूं। node_modules फ़ोल्डर हटाए जाने के लिए ठीक होना चाहिए और इच्छानुसार एनपीएम द्वारा फिर से बनाया जाएगा। विजुअल स्टूडियो परियोजना में शामिल किए बिना स्थापित टाइपिंग को पहचान नहीं पाता है! मुझे लगता है कि मैं इसमें /// संदर्भ टैग के साथ एक फ़ाइल बना सकता हूं लेकिन फिर मुझे टाइपिंग को इंस्टॉल/हटाते समय मैन्युअल रूप से इस फ़ाइल को बनाए रखना होगा।

क्या वीएस इंटेलिसेन्स काम करने का कोई अनुशंसित तरीका है?

उत्तर

12

मैं 2.0 पर स्विच करने और नए @types सम्मेलन का उपयोग करने के बाद इस समस्या के साथ संघर्ष कर रहा था। http://json.schemastore.org/tsconfig

"typeRoots" compilerOptions की संपत्ति:

मैं tsconfig.json यहाँ कल्पना में देखने के बाद इस उपयोगी संपत्ति पाया।

मुझे फ़ाइलों को नहीं मिला या मेरी टाइपिंग में खींचने के लिए सरणी शामिल नहीं हो पाई, लेकिन ऐसा लगता है कि यह मेरे लिए चाल है। एक उदाहरण के रूप

मेरे tsconfig.json फ़ाइल:

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "outDir": "./dist/", 
    "sourceMap": true, 
    "noImplicitAny": false, 
    "module": "commonjs", 
    "target": "es5", 
    "jsx": "react", 
    "typeRoots": [ 
     "node_modules/@types" 
    ] 
    } 
} 

आशा इसी मुद्दे के साथ किसी को मदद मिलती है।

+0

यह वास्तव में टाइपप्रति संकलक के लिए काम कर देता है। लेकिन विजुअल स्टूडियो इंटेलिजेंस अभी भी गायब प्रकारों के बारे में शिकायत करता है। –

+0

क्या आपके पास "npm install -g टाइपस्क्रिप्ट" के माध्यम से वैश्विक स्तर पर स्थापित टाइपस्क्रिप्ट है? मैं IntelliSense साथ कोई समस्या नहीं है लगता है, वहाँ कुछ अन्य वैश्विक विन्यास है जिसकी कमी है होना चाहिए। विश्व स्तर पर स्थापित टाइपप्रति के अलावा, आप "NPM स्थापित जी typings" चलाने है? – Miek

+2

दोहरी जांच करने के बाद मैंने महसूस किया कि जब का उपयोग कर नए @types रेपो Intellisense के लिए मॉड्यूल उपलब्ध स्पष्ट रूप से आयातित जब तक नहीं होगा। lodash के लिए उदाहरण के लिए मैं 'के रूप में उपयोग करने के लिए आयात * _ 'lodash' से है, 'मुझे लगता है कि यह अपने मूल सवाल का जवाब है। –

2

वीएस 2015 अपडेट 3 स्थापित करें, फिर टाइपस्क्रिप्ट 2.0.3 टूल इंस्टॉल करें।

+1

में अपने स्वयं के टाइपप्रति सेटिंग्स था पहले से ही अद्यतन 3 और टीएस 2.0.3 उपकरण है। –

1

यहाँ विजुअल स्टूडियो 2015 (अद्यतन 3 के रूप में) में @types उपयोग का एक उदाहरण है ...

पहले, टाइपप्रति v2.0.3 या उच्चतर के लिए सुनिश्चित हो।

फिर, typings जोड़ने इस प्रकार है: अगर एक पुस्तकालय प्रकार उपलब्ध है देखने के लिए

"devDependencies": { 
    "typescript": "^2.0.3", 

    "@types/jquery": "*", 
    "@types/lodash": "^4.14.36" 
    } 

फिर, अपने टाइपप्रति फ़ाइल में, बस निम्नलिखित जोड़ें ...

/// <reference path="jquery.d.ts"/> 
/// <reference path="jquery.lodash.d.ts" /> 

आदेश में, Type Search देखें, Definitely Typed द्वारा संचालित।

संदर्भ:

संबंधित मुद्दे