对Nodejs教程的介绍
如果我们不学习nodejs,我们会老。当HTML5的大浪来了,许多祖先开始旅行Nodejs。当时,我还在做服务器端程序。
后来,前端和梯队之间的距离非常大。因为我一直在服务器端语言很长一段时间,到目前为止,我已经学习nodejs走向前端。
学习nodejs这次计划:
学习基本知识1-2周
开发一个简单的项目大约1周左右
三.开发了一套调试工具移动终端采用Nodejs
(4)与包装有关(这可能很远)
Nodejs特性
(1)异步
从文件到网络请求读,Nodejs是异步的,回调函数在节点的编程模型中起着重要的作用是主要的
第二事件回调
事件的回调使程序变轻,但具体程度取决于程序员。但是回调函数仍然很难读取。
单线程
节点是单个线程。如果多线程,语言很深。询问几个通信过程是很烦人的,但是没有死锁之类的事情。
但性能相关是有问题的,因为多核不能使用;
CommonJS模块机制/
我们过去做服务器端开发。如果没有良好的组织代码,以后的维护是非常困难的,那么MVC和三层体系结构是什么呢
现在前端的业务逻辑接近后端,对于单页应用程序,它已经超过后端程序逻辑。
页面视图的不断增加带来了JS代码的激增。如何管理我们的前端代码是一个问题,所以requirejs出现。
PS:有10分的关系,这和他妈的Nodejs哇......之间
Javascript不是一个模块化的系统,所以有一个CommonJS提出JS开发大型应用程序的基础
模块的参考
如果我们想引用一个模块,例如数学计算:
VAR数学=需要('math);
模块定义
如果我们必须定义我们自己的模块,我们可以做到这一点
复制代码代码如下所示:
exports.add =函数(){
收起回复;
}
如果这个函数是在数学中定义的,你可以使用它。
Math.add();
模块识别
该模块的身份是参数传递的需要,需要被命名为驼峰,指向一个文件的路径,这是类似于requirejs。
模块的实现
节点的模块实现分为两类,一类是系统级的核心模块,另一类是用户编写的文件模块。
核心模块在编译过程中被转换成二进制文件。在启动节点进程之后,一些核心模块将直接加载到内存中(文件位置、编译和执行)。
文件模块需要动态加载,速度相对较慢。
但是一旦加载了,文件就会被缓存,当两个文件被引入时,缓存的文件(编译后的文件)将被读取。
更重要的是,当我们使用下划线时,我们将编译HTML来形成模板函数(它实际上只是一个函数),它实际上可以被缓存。
在部署项目并保存HTML模板文件(保存优化效果不知道)之前保存编译函数。
在节点中,每个模块都是一个对象:
复制代码代码如下所示:
功能模块(ID,父){
this.id = ID;
this.exports = { };
父/父是一个关键字,它不应该被使用。
this.parent =母;
如果(父、母、子){
Parent.children.push(本);
}
this.filename = null;
this.loaded = false;
this.children = { };
}
在编译和执行时,引入了文件模块的最后一个阶段。在定位特定的文件之后,节点将创建一个模块对象,然后根据路径加载和编译它。
每一个成功的模块将缓存文件的路径作为一个模块上的指标。_cache
每个模块的文件有三个变量,要求,出口,和模块,但它不是在文件中定义的(__filename__,__dirname__变量也是)
事实上,在编译过程中,节点有Javascript文件内容的结束和结束包(相当于窗口的自定义函数)。
复制代码代码如下所示:
(功能(出口要求,模块,__filename__,__dirname__){
VAR数学=需要('math);
exports.area =功能(半径){
返回' ';
};
});
这样,模块和模块彼此隔离,不会相互影响。这有点类似于下划线的编译…
包装和NPM
节点组织其核心模块,使第三方文件模块能够有序地写入和使用,但在第三方模块中,模块和模块仍在散列。
没有直接提及对方,在模块外包是一种机制,建立连接
PS:许多模块将形成一个包,包的概念和java包的概念,装配的概念应该是类似#
解压缩包结构以形成多个文件:
(1)package.json描述文件
可执行二进制目录
javascript代码目录
doc文档(妈的不)
测试DEMO
The above are some of the specifications of the CommonJS package, but we can know a little bit about it. (楚雪玛),即需要掌握。新公共管理,我们可以巧妙地安装管理包。
安装依赖包
安装依赖包是一种常见的方法:
安装快车
执行后,该node_modules目录是当前目录下创建,然后快速创建目录下面。
PS:表达的是一个流行的Web开发框架,NodeJs帮助我们快速开发Web应用程序
安装结束后,可以调用它:
复制代码代码如下所示:
VaR表示=需要('express);
后记
这是一个简单的结束,我们项目的实际过程正在逐步深化。