2016-08-30 18 views
5

बाद मॉड्यूल socket.ioकोणीय 2: त्रुटि TS2307: मॉड्यूल 'socket.io-ग्राहक' नहीं मिला

npm install socket.io --save 

स्थापित होने मेरे पास निम्न त्रुटि:

त्रुटि TS2307: मॉड्यूल नहीं ढूंढा जा सकता ' socket.io-ग्राहक '

आयात

import * as io from 'socket.io-client'; 

systemjs.config.js

var map = { 
    'socket.io-client': 'node_modules/socket.io-client/socket.io.js' 
} 

var packages = { 
    'socket.io-client': { main: 'socket.io', format: 'cjs', defaultExtension: 'js' } 
} 

package.json

"dependencies": { 
    "socket.io": "^1.4.8" 
} 

typings.d.ts

/// <reference path="../socket.io-client/socket.io.js" /> 

declare module 'socket.io-client' { 
    var e: any; 
    export = e; 
} 

socket.io-क्लाइंट (निर्देशिका)
- socket.io.js
- typings.d.ts


कोणीय 2 RC5

उत्तर

10

आप याद कर रहे हैं typings। ओपन typings.d.ts और जोड़ने

declare module 'socket.io-client' { 
    var e: any; 
    export = e; 
} 

तुम भी npm i @types/socket.io-client के माध्यम से socket.io के लिए typings स्थापित करने का प्रयास कर सकते हैं। मुझे नहीं पता कि टाइपिंग उपलब्ध हैं या नहीं।

+0

मेरे पास 'typings.d.ts' फ़ाइल नहीं है, भले ही मैं' npm i @ प्रकार/socket.io-client' – Jils

+0

का उपयोग करता हूं बस एक बनाएं और '/// <संदर्भ पथ =" डाल दें ... "/>' ts फ़ाइल में जो socket.io आयात करता है। वहाँ d.ts फ़ाइल के सापेक्ष पथ रखो। – j2L4e

+0

आपने मुझे गलत पाया। आपको '//// <संदर्भ पथ =" ../ path/to/typings.d.ts "/>' को 'आयात * के ऊपर' आयात करें * socket.io-client से io के रूप में रखना होगा '; ' – j2L4e

0

मैं अपने app.components.ts के शीर्ष पर इस जोड़कर इसे हल

/// <reference path="../../typings/globals/socket.io-client/index.d.ts" /> 
13

socket.io के लिए प्रकार परिभाषा के साथ सही पैकेज स्थापित करने के लिए सुनिश्चित करें:

npm install @types/socket.io-client --save 

यह सही फ़ोल्डर में प्रकार शामिल होंगे और इसका मतलब है कि आपको किसी अन्य फ़ाइल में आगे की कार्रवाई की आवश्यकता नहीं होगी क्योंकि कोणीय इसे उठाएगा।

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