Если файлы JavaScript загружаются и выполняются в браузере, как сервер знает, когда файл является файлом узла js, поэтому для выполнения на сервере?новичок: JavaScript VS Node JS
ответ
Оба веб-браузера и nodejs запускают сценарии javascript. Основное различие заключается в том, что NodeJS является структурой на стороне сервера и выполняет javascript-код на сервере, а не в среде веб-браузера (на стороне клиента).
Нет такой концепции, как nodejs-файл. Есть только скрипты javascriprt, которые можно запускать на клиенте (с помощью механизма JavaScript, который встроен в веб-браузер, например V8 для хрома) или на сервере (с помощью в этом случае NodeJS). Кстати, если я не ошибаюсь, то движок JavaScript, который использует NodeJS, - это движок JavaScript в JavaScript V8.)
Я хочу добавить несколько вещей к Кристосу.
JavaScript - это язык. node.js - это не язык, а «environement/set of software», который работает с обычным JavaScript.
У всех браузеров есть механизмы JavaScript, которые запускают JavaScript веб-страниц (Spidermonkey для Firefox, V8 для Chrome).
Node.js - это просто движок V8 с некоторыми библиотеками для ввода-вывода и создания сетей, поэтому вы можете использовать JavaScript за пределами браузера для создания бэкэнд-услуг.
спасибо, имеет смысл – Max
Я думаю, что конкретные примеры работают лучше концептуальных объяснений, когда в воздухе возникает путаница. Итак, возьмите этот пример:
У вас есть сценарий Node.js под названием «hello.js» (в JavaScript, конечно), который просто печатает «Hello World!». в консоли и выходы. Вы можете запустить этот скрипт, набрав node hello.js
. Он просто распечатает сообщение и выйдет.
У вас есть еще один скрипт Node.js под названием «server.js», который реализует HTTP-сервер (aka web server), который прослушивает порт 3000. Этот сервер обслуживает статические файлы из каталога, называемого «static». В этой папке есть два файла: «index.html» и «app.js». Это файлы для веб-сайта (а app.js - в JavaScript, конечно). Вы запустите этот скрипт, набрав node server.js
. Он запустит HTTP-сервер и начнет ждать клиентских запросов.
Пока выполняется сценарий HTTP-сервера, вы заходите на сайт «http://localhost:3000», чтобы попасть на тот веб-сервер, который вы начали выше. Сервер знает, как обслуживать статические файлы, и знает, что он должен по умолчанию использовать index.html. Ваш браузер загружает index.html, обрабатывает его и понимает, что он также должен вернуться и запросить файл app.js (из-за тега <script>
в index.html). Когда приложение app.js загружается браузером, браузер запускает его. Сервер Node.js не заботится ни о чем, кроме как обслуживать его как еще один статический файл.
отличный пример спасибо – Max
Хорошее объяснение –
- 1. Новичок Node JS запросов
- 2. node JS client vs server
- 3. node js download vs filestream
- 4. Вход пользователя - Javascript Node js
- 5. Node-PerfectAPI vs Restify.js vs ExpressJS vs Node-APIServer
- 6. Visual Studio Bundled Node Js vs standard
- 7. VS Ошибки новичок
- 8. Новичок Node: ссылающиеся переменные в JavaScript принято res.render
- 9. Cloudkit JS && Node JS
- 10. RegExp и Node JS
- 11. Mongodb and Node js
- 12. Выбор вложенного iframe - selenium/javascript/node-js
- 13. Реальные макросы на Javascript (Node JS)
- 14. node js mysql accessing javascript object
- 15. Увеличение массива Javascript/node js/mongodb
- 16. Сохраняя Application Node JS работает
- 17. Node JS перенаправление
- 18. Node Js User Management
- 19. Новичок в JS и as3
- 20. Node JS validation
- 21. Как Express.js относятся к Node JS?
- 22. node-celery vs node-amqp для RabbitMQ
- 23. Hadoop Single-node vs Multi-node
- 24. Node-Webkit vs Electron
- 25. Ресурс Sling vs node
- 26. RxJS vs rx-node
- 27. Forever vs. Node-Windows
- 28. npm start vs node app.js
- 29. node js syntaxError: Неожиданный идентификатор
- 30. iOS Swift vs Node JS Crypto Различные выходы
@Max Добро пожаловать! Я рад, что помог. – Christos