2016-03-30 15 views
5

Tôi muốn sử dụng mô-đun npm trong dự án Typescript nhưng không có typings hoặc tsd cho mô-đun này. Khi tôi thử sử dụng import Module from 'module' Tôi gặp lỗi: Cannot find module 'module'. Có cách nào để khắc phục sự cố không?Sử dụng các mô đun npm trong Typescript

[EDIT] My tsconfig.json:

{ 
    "compilerOptions": { 
    "target": "ES5", 
    "moduleResolution": "node", 
    "module": "commonjs", 
    "noEmitOnError": true, 
    "noImplicitAny": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "sourceRoot": "src", 
    "outDir": "bld" 
    }, 
    "exclude": [ 
    "bld" 
    ] 
} 
+0

Đã được trả lời trong [khác/O câu hỏi S này] (http: // stackoverflow.com/questions/38224232/how-to-consume-npm-modules-from-typescript) – Offirmo

Trả lời

5

tôi giả sử câu hỏi của bạn có liên quan đến nhập khẩu các mô-đun

import Module from 'module' 

Và không xuất khẩu nó như bạn đã nêu. Nếu đây là trường hợp của bạn có thể rơi trở lại đồng bằng javascript và yêu cầu mô-đun như thế này:

var Module = require('module'); 

[EDIT]

Xác minh rằng trong tsconfig.json bạn có những dòng sau trong các tùy chọn trình biên dịch:

"compilerOptions": { 
    "moduleResolution": "node", 
    "module": "commonjs" 
} 

Hy vọng điều này sẽ hữu ích.

+0

Vâng, đó là câu hỏi về việc nhập khẩu. Đối với tôi không làm việc cả hai biến thể. Tôi đoán, vấn đề là không có định nghĩa kiểu cho 'module', và kiểu dữ liệu không tìm kiếm nó trong' node_modules'. Nhưng tôi không biết cách sửa nó. –

+0

Không, bạn không cần định nghĩa kiểu cho phiên bản thứ hai. Kiểm tra câu trả lời cập nhật. – Amid

+1

Tôi đã sửa tsconfig.json theo những thay đổi của bạn, nhưng có lỗi tương tự: 'Không thể tìm thấy mô đun' module''. Kiểm tra cập nhật 'tsconfig.json', vui lòng –

0

Trong trường hợp bạn không muốn gây ô nhiễm hàng nhập khẩu của mình với yêu cầu, bạn có thể thực hiện theo phương pháp sau.

Bạn có thể tạo một tập tin module.d.ts định nghĩa, trong đó có những điều sau

declare module Module {} 

nhập khẩu của bạn nên làm việc ngay bây giờ.

Nếu bạn muốn nhập khẩu một cái gì đó giống như

import { abc } from 'module'; 

chỉ cần đi trước và thêm dòng sau vào module.d.ts

declare module Module { 
    export let abc: any 
} 
Các vấn đề liên quan