Я очень новичок в node.js, и я не могу найти определения где-либо в отношении того, какие привязки узлов. Я видел этот термин, используемый в слайдах и переговорах nodejs, но он никогда не был четко объяснен. Может кто-нибудь помочь прояснить эту концепцию для меня. Я прикрепил картину того, что я имею в виду. Что такое привязки node.js?
ответ
При дальнейших исследованиях я столкнулся с этой статьей. Я надеюсь, что это помогает любому из:
http://pravinchavan.wordpress.com/2013/11/08/c-binding-with-node-js/
объяснение в ответе @Aren Li намного лучше, чем статья, которую вы предоставляете здесь. Эта статья - мусор с точки зрения объяснения того, какие привязки. – mavili
Вместо того, чтобы понять, что node.js привязка, это более полезно, чтобы понять, что «привязки» в первую очередь.
Предположим, вы пишете веб-приложение, где бэкэнд node.js (JavaScript) получает запросы от клиентов, (2) ведет запросы к базам данных, (3) сортирует результаты запроса и (4) возвращает результаты для клиента. Теперь вы обычно будете писать весь код самостоятельно. Однако вы знаете, что есть отличная библиотека сортировки, которая может позаботиться о шаге 3 (т. Е. Результаты запроса сортировки). Единственная проблема заключается в том, что библиотека написана на языке системного программирования, например C/C++, тогда как ваш код написан на JavaScript. Обычно вы не можете использовать эту библиотеку в своем коде, потому что они находятся на разных языках программирования, но с привязками вы можете.
Привязки в основном представляют собой библиотеки, которые «связывают» два разных языка программирования, поэтому код, написанный на одном языке, может использоваться в коде, написанном в другой библиотеке. При наличии привязок вам не нужно снова писать весь код только потому, что они находятся на разных языках. Еще одна мотивация привязок заключается в том, что вы можете воспользоваться преимуществами разных языков программирования. Например, C/C++ намного быстрее, чем JavaScript. Возможно, было бы полезно написать некоторый код в C/C++ для повышения производительности.
Теперь давайте посмотрим на прилагаемую вами фотографию. Двигатель V8, согласно официальному сайту Google, является «written in C++». libuv добавляет слой абстракции, который предоставляет операции асинхронного ввода-вывода, написанные на C. Однако основные функциональные возможности Node.js, такие как создание сетей, запросы к базе данных, ввод/вывод файловой системы, предоставляются в библиотеках (или в модулях, если вы предпочитают), которые написаны на JavaScript. Кроме того, ваш код также написан на JavaScript. Теперь, чтобы эти технологии, написанные на разных языках программирования, обменивались данными друг с другом, вы должны «связывать» их вместе, используя привязки. Эти привязки являются привязками node.js.
В последнее время я написал статью, в которой объясняется архитектура Node.js' internal codebase, где я объяснил, как привязывать вписывается в Node.js. Я бы хотел, чтобы это помогло!
Очень информативно ... насколько велик обязательный компонент этих проектов связывания? Когда я смотрю на произвольное репозиционирование «привязки узлов xxx», он кажется большим с томами файлов C/C++. Являются ли эти файлы только копией исходного источника, или они были полностью изменены и частично переписаны? – wayofthefuture
- 1. Что такое функция привязки
- 2. Что такое привязки в Perl?
- 3. node.js Что такое модуль requirejs
- 4. Что такое узел в node.js?
- 5. Что такое модули стиля Node.js?
- 6. Что такое process.env.PORT в Node.js?
- 7. В Node.js, что такое "on"?
- 8. Что такое лучший узел node.js?
- 9. Что такое значение привязки к нулевому адресу
- 10. Что такое поздние статические привязки в PHP?
- 11. Что такое опция «параметры» в объекте привязки?
- 12. Что такое привязки маршрутизатора, фактически используемые для
- 13. Что такое отметка цикла событий Node.js?
- 14. Что такое node.js на основе, под капотом?
- 15. Что такое (Angular, Node.js, AJAX, JQuery)?
- 16. Что такое + новый синтаксис даты в node.js
- 17. Что такое эквивалент node.js окна ["myvar"] = значение?
- 18. node.js и socket.io - что такое session.httpRequest
- 19. Что такое Ruby-эквивалент Node.js 'socket.io?
- 20. Что такое эквивалент PHP die() в Node.js
- 21. Что такое требуется («HTTP») в node.js
- 22. Что такое ответ Haskell на Node.js?
- 23. Что такое node.js и его назначение?
- 24. Что такое конструктор функций в Node.js?
- 25. Upsert in node.js - что такое `IF EXIST`?
- 26. Понимание Что такое синхронизация и Что Асинхронный в Node.js/JavaScript
- 27. Что такое .ntvs_analysis.dat
- 28. Проверка привязки dgram в Node.js
- 29. Что такое javascript runtime ..?
- 30. Что такое ссылка Post-Policy в журнале привязки сборки?
привязки - это исполняемый код, который делает V8 и библиотеку способной разговаривать друг с другом. Примером является привязка для библиотек баз данных. V8 не имеет собственного понимания баз данных, а библиотеки баз данных не заботятся о том, кто их использует, поэтому требуется привязка, чтобы обе стороны могли разговаривать друг с другом. –
@ Mike'Pomax'Kamermans, приятно и прямо, вы должны отправить его в качестве ответа. –
Эх, на самом деле это не вопрос, на который имеет смысл ответ SO. Вы можете найти ту же информацию с некоторыми поисковыми системами, поэтому я оставлю ее в качестве комментария. Если это помогает, здорово, если вопрос убирается, также отлично. –