2012-12-29 63 views
10

Tôi muốn sử dụng Nodejs trong dự án nguyên cảo của tôi và node.d.ts tải về từ https://github.com/borisyankov/DefinitelyTyped/tree/master/nodeSử dụng Nodejs với nguyên cảo

Nhưng VisualStudio tìm thấy rất nhiều lỗi trong file .d.ts. Họ đang tất cả về cơ bản giống nhau:

Lỗi 2 xuất khẩu giao diện 'Server' mở rộng giao diện từ tin mô-đun 'sự kiện' C: \ Users \ lhk \ Desktop \ nguyên cảo trò chơi \ chiến lược đi \ nút \ nút -0.8.d.ts 236 37 node-0.8.d.ts

Tất cả các thông báo lỗi đều cho rằng giao diện riêng được mở rộng.

Tôi đã tìm kiếm SO và thấy câu hỏi này: nodejs require inside TypeScript file

Một trong những ý kiến ​​đưa ra những lời khuyên để tải node.d.ts từ các mẫu của Microsoft. Tôi duyệt internet, tìm thấy bài viết này http://stackful.io/blog/typescript-nodejs-vim-and-linux-oh-my/ và tải xuống phiên bản thứ hai của node.d.ts, với cùng kết quả chính xác.

Tôi có thể tìm tệp định nghĩa đúng cho các nút và bản đánh số ở đâu?

Trả lời

5

Đối với phiên bản 0.8.1-1 của nguyên cảo, sử dụng node.d.ts tập tin mới nhất từ ​​dự án github này: https://github.com/soywiz/typescript-node-definitions

tôi đã nhận được cùng exported interface lỗi cho đến khi tôi kéo các tập tin định nghĩa mới nhất từ ​​đó.

+1

tuyệt vời, điều này đã hiệu quả. Tôi so sánh hai tệp .d.ts và tìm thấy một sự khác biệt kỳ lạ. Trong phần mô-đun, bất cứ khi nào một mô-đun khác được nhập, phiên bản cũ sử dụng "import something = module (" something ")", nhưng phiên bản mới sẽ thay đổi thành "export import something = module (" something ")". Tại sao nó lại là một hệ thống bất ngờ để mở rộng giao diện của một mô-đun riêng, nếu mô-đun đó được xuất khẩu? Toàn bộ cấu trúc không có ý nghĩa với tôi. Tại sao ví dụ mô-đun http "xuất khẩu nhập khẩu" các sự kiện mô-đun? Bây giờ tôi có thể làm điều gì đó như http.events.SomethingfromEvents không? – lhk

+0

Dự án github thật tuyệt vời, nó giải quyết một câu hỏi khác của tôi. Nếu bạn sẽ sao chép câu trả lời này cho http://stackoverflow.com/questions/14084406/typescript-and-socket-io Tôi sẽ rất vui khi chấp nhận nó – lhk

+0

@ lhk Tôi chưa xem xét chi tiết về lý do tại sao nó hoạt động, Tôi chỉ vui vì điều đó. Tôi đã xem xét câu hỏi khác của bạn, nhưng câu hỏi đó cho thấy bạn đã sử dụng tệp 'socket.io.d.ts' từ dự án' soywiz', vì vậy tôi nhầm lẫn là tại sao bạn muốn tôi sao chép câu trả lời này ở đó. – JohnnyHK

1

Tôi không hoàn toàn chắc chắn những gì đang xảy ra ở đây.

Tôi nghi ngờ rằng phiên bản hiện tại của gói (package) (0.8.1 ~ 1) node.js cho Typescript đã phá vỡ một số nội dung. Tôi đã chạy vào điều này quá. Tôi đã chỉnh sửa tệp node.d.ts và đánh dấu một vài thứ "xuất" thay vì "khai báo" và điều đó khiến tôi vượt qua các vấn đề biên dịch của mình, nhưng tôi thấy rằng các hàm không hiển thị trong phạm vi hiện tại.

FWIW, tôi đã chơi xung quanh với một ngã ba cá nhân của yêu cầu loại và trình bao bọc các loại (cả hai đều yêu cầu một số tinh chỉnh để làm việc với 0.8.1 ~ 1) và tôi không quá chắc chắn rằng mọi thứ đang làm việc cũng như nó nên được, vì vậy tôi đã không chắc chắn rằng vấn đề là vấn đề của tôi hoặc một cái gì đó đặc hữu cho các nút hiện tại/typescript.

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