初识node.js

node 的优点:

  • 1、基于V8虚拟机,可构建高性能服务器
  • 2、单线程
  • 3、可利用Javascript进行后台开发
  • 4、非阻塞IO,向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。
  • 5、RESTful API,REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。资源与URI、统一资源接口、资源的表述、资源的链接、状态的转移

node 的问题:

  • 以前版本安装的很多全局的工具包需要重新安装
  • 无法回滚到之前的版本
  • 无法在多个版本之间切换(很多时候我们要使用特定版本)
  • Python环境丢失,Node中有些第三方的包是以C/C++源码的方式发布的,需要安装后编译,确保全局环境中可以使用python命令,python 版本推荐2.7.0
  • 环境变量丢失,部分电脑安装完毕之后没有环境变量需要手动配置,环境变量的变量名是不区分大小写的(PATH 变量:只要添加到 PATH 变量中的路径,都可以在任何目录下,目的可以在任何地方调起node命令)

ES6 和 node 的模块导出对比:

//es6的模块导出
export default class Box{}

//node的模块导出
module.exports={
	a:function(){console.log("a");},
	b:function(){console.log("b");}
}

ES6 和 node 的导入模块对比:

//es6中导入模块
import Box from "./js/a.js";

//node中导入模块
var obj=require("./js/a");
obj.a();
obj.b();

node服务

node.js 中通过 http 创建一个服务对象,返回 http.Server 类的实例化对象

var http=require("http");

创建服务器,使用 http.createServer( ) 方法创建服务器,并绑定服务监听端口。函数中可以使用 request / response 参数来接收和响应数据。

//载入http模块
var http=require("http");
//获取当前页面的路径
var querystring=require("querystring");
var server=http.createServer(function(request,response){
    // request 请求对象
    // response 响应对象
    request.on("data",function(_data){

    });
    request.on("end",function(){
        //获取路径链接中的参数
        var obj=querystring.parse(request.url.split("?")[1]);
        //响应头部
        response.writeHead(200,{
            "content-type":"text/html;charset=utf-8",
            // 允许所有跨域请求,*是通配符
            "Access-Control-Allow-Origin":"*"
            //当请求头有自定义的数据时,设置跨域请求头,*是通配符
            "Access-Control-Allow-Headers":"*"
        });
        //响应正文数据
        response.write(obj.user+",欢迎光临");
        response.end();
    })
});
//监听服务器访问 参数为 端口号 IP地址 回调函数
server.listen(4002,"10.9.61.57",function(){
    console.log("创建了服务器");
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值