2016-08-30 20 views
5

Sau khi cài đặt các module socket.iogóc 2: lỗi TS2307: Không thể tìm thấy mô-đun 'socket.io-client'

npm install socket.io --save 

Tôi có lỗi sau:

lỗi TS2307: Không thể tìm thấy mô-đun ' socket.io-client'

nhập khẩu

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-client (Danh mục)
- socket.io.js
- typings.d.ts


góc 2 RC5

Trả lời

10

Bạn đang thiếu typings. mở typings.d.ts và thêm

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

Bạn cũng có thể thử cài đặt typings cho socket.io qua npm i @types/socket.io-client. Tuy nhiên, tôi không biết nếu có sẵn kiểu đánh máy.

+0

Tôi không có tệp 'typings.d.ts' ngay cả khi tôi sử dụng' npm i @ types/socket.io-client' – Jils

+0

Chỉ cần tạo một và đặt '/// ' vào tệp ts nhập khẩu socket.io. Đặt đường dẫn tương đối vào tệp d.ts trong đó. – j2L4e

+0

Bạn đã cho tôi sai. Bạn sẽ cần đặt '/// ' vào tệp .ts ở trên 'import * như io từ 'socket.io-client '; ' – j2L4e

0

tôi giải quyết nó bằng cách thêm này ở đầu app.components.ts tôi

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

Hãy chắc chắn để cài đặt các gói đúng với định nghĩa kiểu cho socket.io:

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

này sẽ bao gồm các loại trong thư mục chính xác và có nghĩa là bạn sẽ không cần thực hiện thêm bất kỳ hành động nào trong bất kỳ tệp nào khác vì góc cạnh sẽ chọn tùy chọn này.

Các vấn đề liên quan