当前位置: 首页 > Web前端 > HTML

【灵魂拷问】为什么要学Node.js?

时间:2023-04-02 19:27:38 HTML

【灵魂拷问】你为什么要学Node.js?node.js学习适合人群:要求对HTML、CSS、JavaScript和编程有一定了解的读者阅读,一些简单的命令行操作,有服务器端开发经验者更佳。Node.js究竟是什么?为什么要学它?它能为我们做什么?Node是2009年诞生的一项新技术,经过几年的变迁,Node.js的生态逐渐趋于稳定。很多开发者在入门的时候,总要经历一次思维的转变,但是学习Node.js可以进行Web后台的开发,同时掌握事件驱动的异步编程风格。学习Node.js,掌握如何使用Node构建可扩展的互联网应用,服务器事件驱动开发的重要概念,跨服务器并发连接,非阻塞I/O和事件驱动编程,如何支持各种数据库和数据存储tools,ExamplesofusingNodeAPI等Node.js简介学习一个东西,就像老师在学校里说的,要理解一个东西,你需要知道它是什么,它能做什么?为什么?那是什么?为什么?如何?。去想问题。什么是Node.js?Node.js是一个JavaScript运行环境,不是语言,不是库,不是框架,但是它可以解析和执行JavaScript代码,就像浏览器一样,现在JavaScript完全可以脱离浏览器运行。Node.js是服务器端和后端开发的。学习节点。js是学习web服务器开发的过程。Node.js建立在Chrome的V8引擎之上。注:“浏览器内核”是指浏览器的核心部分“渲染引擎”,直译为“渲染引擎”,我们可以称之为“排版引擎”、“解释引擎”。引擎的作用是帮助浏览器渲染页面的内容,将页面的内容和代码呈现给用户看到的视图。JavaScript引擎是一个处理JavaScript脚本的虚拟机,通常在Web浏览器中。Node.js没有BOM和DOM,有的是EcmaScript。Node提供了一些服务器级的操作,文件读写,网络服务构建,网络通信,HTTP服务器等。Node.js是事件驱动,非阻塞IO模型(异步),轻量级,高效。Npm是世界上最大的开源库生态系统。大多数JavaScript相关的包都存放在npm上,方便开发者下载使用。Node简介Node可作为web服务器后台,命令行工具,掌握B/S编程模型,Brower-Server,模块化编程。掌握以下内容:异步编程知识点、回调函数、Promise、async、generatorExpressWeb开发框架、ES6安装Node环境下载地址:https://nodejs.org/en/download查看版本号,确认是否安装创建并编写JavaScript脚本文件,打开终端,定位到脚本文件所在目录,输入文件名,执行对应文件,解析并执行JavaScript。文件操作fs是file-system的缩写,意思是文件系统。浏览器中的JavaScript不具备操作文件的能力,而Node中的JavaScript则具有操作文件的能力。fs.readFile用于读取文件。//使用require方法加载fs核心模块varfs=require('fs')//读取文件fs.readFile('')//读取文件//第一个参数读取文件的路径//第二个A半字节是回调函数fs.readFile('./data/helllo.txt',function(error,data){//console.log(data.toString());if(error){console.log('Errorreadingfile');}else{console.log(data.toString());}})写文件操作varfs=require('fs')//第一个参数,文件路径//第一个两个参数,文件内容//第三个参数,回调函数fs.writeFile('./data/dada.txt','hello,dada',function(error){//console.log('dada');if(error){console.log('writefailed')}else{console.log('writesucceeded')}})简单HTTP服务核心模块http://加载核心模块varhttp=require('http')//使用http.createServer()方法创建一个web服务器//返回一个服务器实例varserver=http.createServer()//服务器提供数据//注册request请求事件server.on('request',function(){console.log('收到客户端的请求');});//绑定端口号并启动服务器server.listen(3000,function(){console.log('服务器启动成功');})request请求事件处理函数Request请求对象Request对象用于获取客户端的请求信息Response响应对象Response对象用于向客户端发送响应消息varhttp=require('http')varserver=http.createServer();server.on('request',function(request,response){console.log('dada');//response对象有一个方法,write用于向客户端发送响应数据response.write('dada');//write方法可以使用多次,最后一定要加上end()方法结束响应,否则//客户端会一直等待response.write('da');response.end();})server.listen(3000,function(){console.log('服务器');});请求不同路径响应不同消息时如何判断request.url?使用if在浏览器中使用JavaScript?有EcmaScript、BOM、DOM。根据不同的请求路径返回不同的数据varhttp=require('http')varserver=http.createServer()server.on('request',function(req,res){//console.log(req.url);//直接写在end//res.end('hellodada');varurl=req.urlif(url==='/'){res.end('index');}elseif(url==='/login'){res.end('登录页面');}else{res.end('404');}});server.listen(3000,function(){console.log('开始theserver');})核心模块//用于获取机器信息varos=require('os')//用于操作路径varpath=require('path')//获取当前的cpu信息machineconsole.log(os.cpus())//memorymemoryconsole.log(os.totalmem())//extnameextension获取路径的扩展部分console.log(path.extname('c:/data/你好.txt'));模块作用域,文件作用域,超出文件不起作用,在node中,没有全局作用域,只有模块作用域,外部访问不能内部,内部访问不能外部exports默认为空objectvarfoo='dada'exports.foo='hello'varage=12exports.age=ageresponsecontent-typeres.setHeader('Content-Type','text/plain;charset=utf-8')res.setHeader('Content-Type','image/jpeg')url是一个统一资源定位符一个url其实对应一个资源的Content-Type类型:tool.oschina.net/commonsNode中的JavaScript:EcmaScript:method,Variables,DataTypes,Built-in对象,Array,Object,Date,MathHttp请求,里面有require,端口号,定位电脑的ip地址,端口号。推荐学习资料:《深入浅出Node.js》《Node.js权威指南》JavaScript标准参数教程:http://javascript.ruanyifeng....Node入门:http://www.nodebeginner.org/i...官方api文档:https://nodejs.org/en/CNODE社区:http://cnodejs.org??别忘了留下你的学习足迹【点赞+收藏+评论】作者信息:【作者】:Jeskson【原创公众号】:达达阵线-结束小酒馆。【福利】:公众号回复“信息”,送自学资料大礼包(群里分享,想要什么就说,看我有没有)!【转载说明】:转载请注明出处,谢谢合作!~大前端开发,定位前端开发技术栈博客,PHP背景知识点,web全栈技术领域,数据结构与算法,网络原理等以通俗易懂的方式呈现给小伙伴方式。感谢您的支持,感谢您的厚爱!!!如本账号内容有问题(例如:涉及版权或其他问题),请及时联系我们进行整改,我们会尽快处理。请喜欢它!因为您的认可/鼓励是我写作最大的动力!欢迎来到达达的CSDN!这是一个有品质有态度的博客