Theo như tôi đã thấy, không có giải thích nào về nơi chúng tôi định vị tập lệnh phía máy khách cho socket.io
nếu node.js
không được sử dụng làm máy chủ web. Tôi đã tìm thấy một thư mục toàn bộ các tệp phía máy khách, nhưng tôi cần chúng trong một phiên bản kết hợp (giống như nó được phân phát khi sử dụng các máy chủ web node.js). Bất kỳ ý tưởng?Thư viện máy khách socket.io ở đâu?
Trả lời
socket.io.js là những gì bạn sẽ đưa vào html phía máy khách của mình. Một cái gì đó như:
<script type="text/javascript" src="socket.io.js"></script>
kịch bản của tôi tọa lạc:
/usr/local/lib/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js
copy file đó vào nơi bạn muốn máy chủ của bạn để phục vụ nó.
Tôi nghĩ rằng cách tốt hơn và thích hợp là để tải nó từ url
src="/socket.io/socket.io.js"
này trên miền nơi socket.io chạy. Điều tích cực trong giải pháp này là nếu bạn cập nhật mô-đun socket.io npm, tệp khách hàng của bạn cũng được cập nhật và bạn không phải sao chép nó mỗi lần thủ công.
Đây là câu trả lời hay nhất IMO. Việc sử dụng phía máy khách được đề nghị bao gồm từ tài liệu Socket.IO. Nó chỉ giải thích nó đến từ đâu, cùng với những ưu điểm @Capaj đã đề cập. –
Đây chỉ là giải pháp tốt nhất Node.js phục vụ trang web nơi bạn muốn kết nối xảy ra. Đó là một 'NẾU' thực sự lớn. –
Cách tốt nhất tôi đã tìm thấy để thực hiện việc này là sử dụng bower.
bower install socket.io-client --save
và bao gồm trong mã HTML của ứng dụng của bạn:
<script src="/bower_components/socket.io-client/socket.io.js"></script>
Bằng cách đó bạn có thể điều trị các phần socket.io của khách hàng của bạn giống như cách bạn đối xử với bất kỳ gói quản lý khác.
Đây là giải pháp tốt nhất, cảm ơn! Trong trường hợp điều này giúp bất kỳ ai khác, trình khách socket.io được rút gọn nằm trong 'bower_components/socket.io-client/dist/socket.io.min.js' – mikermcneil
bower ftw. –
Thao tác "bowerInstall: target" (bowerInstall) socket.io-client không được đưa vào tệp của bạn. Hãy xem qua "client/bower_components/socket.io-client" cho tệp bạn cần, sau đó bao gồm nó theo cách thủ công trong tệp của bạn. – smk
Nếu bạn đang sử dụng bower.json, hãy thêm phụ thuộc socket.io-client.
"socket.io-client": "0.9.x"
Sau đó chạy Chòi chơi cho cài đặt tải socket.io-client.
Sau đó, thêm thẻ tập lệnh vào HTML của bạn.
<script src="bower_components/socket.io-client/dist/socket.io.min.js"></script>
Đối với tất cả những người chạy wiredep và tải "socket.io-client chưa được chèn vào tệp của bạn". lỗi:
Sửa đổi nhiệm vụ wiredep của bạn như thế này:
wiredep: {
..
main: {
..
overrides: {
'socket.io-client': {
main: 'socket.io.js'
}
}
}
@ k-d Điều này giải quyết nó, nhưng tại sao vậy? những gì không xảy ra theo mặc định với 'socket.io-client'? – Nitzankin
Bởi vì họ không muốn hỗ trợ bower. –
tôi đã tạo ra một Chòi chơi cho ổ cắm tương thích.io-client có thể được cài đặt như thế này:
bower install sio-client --save
hoặc để sử dụng phát triển:
bower install sio-client --save-dev
liên kết đến repo
Bạn có phát hành bất kỳ cập nhật nào không? socketio hiện có trên 1.3.5. Của bạn là rất chậm và clunky vì lý do nào. –
được cập nhật thành 1.3.5 –
Có thể có cách tự động cập nhật phiên bản máy khách bower? – Diogyn
tôi đã sử dụng Chòi chơi như đề xuất trong Câu trả lời của Matt Way, và điều đó rất hiệu quả, nhưng sau đó là thư viện của nó f không có tệp bower.json
riêng.
Điều này có nghĩa là plugin Gulp bower-main-files
mà tôi đang sử dụng để tìm các tệp JS phụ thuộc của tôi không được lấy trong socket.io và tôi gặp phải lỗi khi tải trang. Thêm ghi đè vào dự án của tôi là bower.json
làm việc xung quanh vấn đề.
Đầu tiên cài đặt các thư viện với Chòi chơi:
bower install socket.io-client --save
Sau đó, thêm ghi đè để bower.json của dự án của bạn:
"overrides": {
"socket.io-client": {
"main": ["socket.io.js"]
}
}
nếu bạn sử dụng https://github.com/btford/angular-socket-io hãy chắc chắn để có index.html của bạn như này:
<!-- https://raw.githubusercontent.com/socketio/socket.io-client/master/socket.io.js -->
<script src="socket.io.js"></script>
<!-- build:js({client,node_modules}) app/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<!-- ...... -->
<script src="bower_components/angular-socket-io/socket.js"></script>
<!-- endbower -->
<!-- endbuild -->
<script type="text/javascript" charset="utf-8">
angular.module('myapp', [
// ...
'btford.socket-io'
]);
// do your angular/socket stuff
</script>
- 1. Thư mục thư viện sqoop ở đâu?
- 2. Thư viện Erlang ở đâu?
- 3. Socket.io trên Heroku: mã phía máy khách
- 4. Thư viện phía máy khách Java WebDAV
- 5. Thư viện máy khách REST trong C
- 6. Node.js: socket.io đóng kết nối máy khách
- 7. Thư mục thư viện chuẩn ruby được đặt trên máy Mac ở đâu?
- 8. Thư viện máy khách/máy chủ Java RTSP
- 9. Tôi có thể tìm thư viện DNS C++ ở đâu?
- 10. Bạn lưu trữ thư viện script PowerShell ở đâu?
- 11. Thư viện C chuẩn ở đâu trên Mac OS X?
- 12. thư viện học máy ở C#
- 13. mã nguồn cho thư viện chuẩn trong ocaml ở đâu?
- 14. "tableClient.CreateTableIfNotExist" trong thư viện AzureStorage v2 ở đâu?
- 15. Tôi có thể tìm thư viện .NET ở đâu tốt?
- 16. Tôi tìm mã thư viện chuẩn python ở đâu?
- 17. System.Tuple ở đâu trong thư viện lớp di động?
- 18. QT CREATOR - tôi đặt thư viện/NODEFAULTLIB: ở đâu?
- 19. Socket.io là máy chủ, javascript 'chuẩn' là ứng dụng khách?
- 20. Máy chủ Java và socket.io
- 21. Tìm kiếm REST với thư viện máy khách JSON
- 22. Có thư viện máy khách MS-DRM cho Linux không?
- 23. Thư viện máy khách Microsoft AJAX và jQuery
- 24. Thư viện máy khách XMPP tốt nhất cho Node.js
- 25. Có thư viện máy khách CalDAV cho Java không?
- 26. Thư viện máy khách SOAP hạng nhẹ cho Java
- 27. Gỡ lỗi khách hàng Socket.io?
- 28. Thư viện ứng dụng khách EMail
- 29. socket.io như một khách hàng
- 30. Rails 3 - Phiên bản thư viện máy khách MySQL không chính xác! Gem biên dịch cho phiên bản thư viện máy khách sai
Tuyệt vời, cảm ơn. Không thể tìm ra nơi trong mớ hỗn độn của cấu trúc thư mục mà tập tin đã được :) –
Vâng, nó không phải là hợp lý. Rất nhiều người sử dụng socket.io hỏi điều đó. Tất cả các tốt nhất :-) – EhevuTov
Cảm ơn người đàn ông! Thật lạ khi không có thông tin về điều đó trong tài liệu hoặc mẫu. – Peter