对于一些像我这样的新手来说,只知道nodejs是可以写后端的JavaScript,最开始感觉他就是一个JavaScript库,当我真正的接触了node之后我才对node真正的有了入门的了解。
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
JS运行在服务器端,交由NODE这个服务环境平台进行解析(有了NODE,我们就可以通过JS编写服务器端的程序代码了,类似于:PHP、JAVA、C++、C#、.NET[dot net]、ASP、GO、PYTHON、RUBY...)
NODE是基于V8引擎渲染的(快)、异步/无阻塞IO操作、单线程处理(基于事件驱动的)
NODE.JS是由很多的模块组成的,一个供JS运行和调取特殊方法,以此实现相关功能的,一个服务器环境的运行平台
1、->内置模块:只要安装了NODE,天生自带的模块,例如:http、fs、url...
2、->第三方模块:别人写好和封装的一些优秀模块,如果我们同样想实现类似的功能,只需要把对应的模块安装到NODE环境平台上即可(https://www.npmjs.com/)
安装:npm install 第三方模块的名称 ->安装完可以在node_modules文件夹中查看
导入:在JS中通过 var 变量名=require("第三方模块名称");
使用:变量名.模块提供的方法名()
卸载:npm uninstall 第三方模块的名称
3、->自定义模块:自己编写的模块,在NODE中,只要我们创建一个JS文件,那么这个文件就可以称之为一个自定义模块了,在这个JS中编写的方法都可以称之为我们模块的API方法
在NODE中,JS修改一次,一般情况下,想让最新的代码起到效果,我们需要重新的使用NODE执行一次对应的JS
在node中因为都是模块,模块与模块之前互相调用和模块的导出是这样的
a.js
//一个a.js作为一个模块要被别的模块引用 function fna1() { console.log("fna1"); } function fna2() { console.log("fna2"); } //->导出三个供外面使用的方法 module.exports = { fna1: fna1, fna2: fna2 };
b.js
//->在b中导入(require)a,这样就可以调取a中(module.exports)导出的方法了 var a = require("./a"); function fnb1() { console.log("fnb1"); } function fnb2() { console.log("fnb2"); a.fna1(); a.fna2(); } //将fnb2导出供其他模块调用 module.exports.fnb2 = fnb2;
c.js 同时运行c.js
var b = require("./b"); var a = require("./a"); b.fnb2(); a.fna1();
运行结果:
fnb2
fna1
fna2
fna1
所以说自定义模块中相互调用时,要注意模块代码的书写方式,并且要将想让外面模块调用的方法exports,想引用别的模块要require别的模块
这场战争才刚开始,我相信我作为一个想当将军的厨师,最后一定可以成为司机的。
文章评论
不错!!!
@haoshuai 时间太紧了,好多东西来不及总结