A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

1.编写高性能网络服务器的javascript工具包(用js开发服务端程序)

2.单线程、异步、事件驱动

单线程:01.php不支持多线程,但是php的服务apache支持多线程,启动时会初始化150个线程供php使用。在线程池中,线程工作将内容提供到客户端之后继续回到线程池中等待被调用;02.node.js单线程,多个线程对库操作,每个线程对应一个块内存;03.PHP高并发、大数据量如何处理?让线程快速结束(线程优化、主键)

异步和事件驱动:异步访问完数据库之后就去进行其他操作,访问过程速度特别快,当下一步需要数据时会报错,所以需要将下一步操作放到上面的函数中,作为回调函数使用。node.js中有asyac方法让程序顺序执行

3.特点:快、耗内存多


4.node.js vs php
优点:
01.性能高
02.开发效率高(优化的量少)
03.应用范围广(可以开发桌面系统:electorn框架)

缺点:
01.新、人少
02.中间件少
03.IDE不完善

5.node请求静态服务器

var http=require("http");//http是node中自带的对象,利用require导入
        http.createServer(function(request,response){
                response.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
                console.log("访问");
                response.write("hello world");
                response.end("你好,世界!");
        }).listen(8000);
        console.log("Server running at http://127.0.0.1:8000/");
6.node模块化开发和commonJS规范
01模块引用
    exports.add=function (num1,num2){
        alert(num1+num2);
    }//模块对外提供的接口,假设存放在add.js中

    var obj=require("./add.js");//模块引用
    // 赋值的意义在于,js中将仅能识别obj,因为这是已经定义的变量,并不能识别./add.js

    obj.add(3,5);//正确的调用方法

02模块定义
module对象:在每一个模块中,module对象代表该模块自身。
export属性:module对象的一个属性,它向外提供接口。

03模块标识
模块标识指的是传递给require方法的参数,必须是符合小驼峰命名的字符串,或者以  . 或 .. 开头的相对路径,或者绝对路径。
---------------------
【转载,仅作分享,侵删】
作者:Ryan Ji
原文:https://blog.csdn.net/qq_42451979/article/details/82793200
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马