笔者在学习前端全栈架构的时候,被迫学习到nodejs。因为之前多少了解过一点,感觉很鸡肋。所以就没在继续往下学习下去。今天被迫重新学习之后又有了一些新的认识,这里给大家介绍一下。
一,为什么要学习nodejs?
学习一样东西总是要带着目的去学习,这样会知道自己需要什么,缺乏什么。这样的学习会更有效率。
我学习nodejs的目的,就是为了弄懂关于webpack vue等等 框架之间的关系。怎样运行原理。学习过程中还有一些意外的收获。
比如nodejs很适合做中间层。为什么很适合做中间层呢?
1,性能
2,数据格式
3,代码复用
因为nodejs 语法和js完全相同,在数据格式方面几乎没有什么排斥,你能用,我也能用。代码复用方面,打个比方,前端对表单进行验证的正则,通常服务端接收后也需要进行校验。避免通过api的方式绕过了js。那么这个时候nodejs可以直接使用前端js的验证规则。另外性能(运算)方面据说要比java,php更高一些。
既然nodejs这么厉害为什么不用来直接做项目?也不是没有,只不过很少。因为首先几个方面,第一,一般网站开发基本上没有什么从0开始。基本上都有一些基础框架。这方面java ,php做的都很好。相比之node框架方面相对就很弱化了。第二,如果已经有项目改用nodejs的话,首先运营成本很高,学习nodejs也需要成本。再者直接招聘nodejs这方面人才也很少。
二,安装nodejs(windows)
点击官网链接,一般都会提供两个版本提供选择下载。
下载完成之后直接点下一步下一步即可。如果需要可以更换一下安装目录。
安装完毕之后,打开命令行(win+r 输入 cmd),打开命令行之后输入node如果没有提示node命令不存在。就说明安装成功了。
三,npm
相信很多同学安装玩nodejs之后,根本就没写过node,而是频繁的使用npm。npm也算是神器了。
但是在使用npm安装一些模块的时候,经常性会很慢。因为npm自带的下载源使用的是国外的地址。
我这里使用的阿里的源
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装玩之后就可以使用cnpm来进行安装模块了。cnpm几乎完全等效npm,但是有可能有些模块在cnpm里面安装不了(极少数情况下)
四,使用nodejs写一个简单的服务
const http=require("http");//引入nodejs的系统模块
let server = http.createServer((request,response)=>{
//request 请求信息
console.log(request.url);//url信息会在启动终端显示出来
//response 返回信息
//response.write("response");
response.write("success");//write 可以多次写入
response.end();
})
server.listen(8080);
比如文件名叫1.js。就进入到对应的目录。然后执行
node 1.js
服务就可以启动。这个时候在浏览器内访问127.0.0.1:8080就会得到success。启动终端内会显示url返回信息