2017-09-01 17 views
6

मैंने एक कस्टम टाइपिंग कोड बनाया है जिसे मैं कई वेबस्टॉर्म node.js प्रोजेक्ट्स में साझा करना चाहता हूं। मुद्दा यह है कि मैं प्रोजेक्ट में टाइपिंग को शामिल करने के तरीके के बारे में बताते हुए दस्तावेज ढूंढने की कोशिश कर रहा हूं। मैंने npm कमांड का उपयोग करने की कोशिश की लेकिन उसने फ़ोल्डर को @typings फ़ोल्डर में/node_modules फ़ोल्डर के अंतर्गत नहीं जोड़ा। साथ ही, जब मैं प्रोजेक्ट को संकलित करता हूं कि मैं कस्टम टाइपिंग जोड़ने की कोशिश कर रहा हूं, तो मुझे उस परियोजना के बीच मोंगोज़ लाइब्रेरी के लिए डुप्लिकेट त्रुटियां मिल रही हैं जिनमें टाइपिंग और प्रोजेक्ट शामिल है जिसे मैं टाइपिंग जोड़ना चाहता हूं। मुझे यकीन नहीं है कि समस्या क्या हो सकती है।कस्टम टाइपिंग कैसे स्थापित करें?

tsconfig.json (नए प्रकार के लिए):

{ 
    "name": "newcustomtype", 
    "description": "...", 
    "version": "1.0.0", 
    "main": "./dist/index.js", 
    "typings": "./dist/index.d.ts", 
    "scripts": { 
    "grunt": "grunt" 
    }, 
    "dependencies": { 
    "@types/express": "^4.0.35", 
    "@types/express-jwt": "0.0.34", 
    "debug": "^2.2.0", 
    "dotenv": "^4.0.0", 
    "mongoose": "^4.9.2", 
    "tslint": "^4.5.1" 
    }, 
    "devDependencies": { 
    "@types/mongodb": "^2.1.41", 
    "@types/mongoose": "^4.7.9", 
    "@types/node": "^7.0.10", 
    "grunt": "^1.0.1", 
    "grunt-cli": "^1.2.0", 
    "grunt-contrib-watch": "^1.0.0", 
    "grunt-ts": "^6.0.0-beta.15", 
    "grunt-tslint": "^4.0.1", 
    "nodemon": "^1.11.0", 
    "ts-node": "^3.0.2", 
    "tslint": "^4.5.1", 
    "typescript": "^2.2.1" 
    } 
} 

tsconfig.json (जहां टाइपिंग स्थापित किया जाना चाहिए):

{ 
    "compilerOptions": { 
    "module": "commonjs", 
    "target": "ES5", 
    "moduleResolution": "node", 
    "experimentalDecorators": true, 
    "emitDecoratorMetadata": true, 
    "types": ["reflect-metadata"], 
    "lib": ["ES6"], 
    "sourceMap": true, 
    "inlineSources": true, 
    "pretty": true, 
    "outDir": "dist", 
    "rootDir": "src", 
    "noLib": false 
    }, 
    "include": [ 
    "src/**/*.ts" 
    ], 
    "exclude": [ 
    "node_modules" 
    ], 
    "compileOnSave": false 
} 

मैं दस्तावेज़ का पालन करने की कोशिश की। टाइपस्क्रिप्ट वेबसाइट पर लेकिन मैं एक बार संसाधन स्थापित करने में सक्षम नहीं हूं कि एक बार बनाए गए कैसे इंस्टॉल करें। हालांकि, इसके लिए कस्टम टाइपिंग स्थापित नहीं करने के लिए, मुझे लगता है कि मेरी tsconfig फ़ाइलों के साथ भी एक समस्या है। कृपया समीक्षा करें और मुझे बताएं कि मुझे क्या याद आ रही है?

अग्रिम धन्यवाद।

उत्तर

1

node_modules/@types फ़ोल्डर केवल परिभाषाओं के लिए है जो एनपीएम द्वारा स्थापित होते हैं। कस्टम टाइपिंग के लिए specify typeRoots आपके tsconfig.json के भीतर सबसे अच्छा होगा। उदाहरण के लिए:

{ 
    [...] 
    "compilerOptions": { 
    [...] 
    "typeRoots" : ["../path/to/typings", "./node_modules/@types"], 
    [...] 
    } 
    [...] 
} 
संबंधित मुद्दे