zoukankan      html  css  js  c++  java
  • node基础

    什么是node?

    node.js是 一种依靠 谷歌浏览器内核中的v8引擎驱动的可以方便的构建快速、可扩展的网络应用程序的平台。核心语言是JavaScript,前段人员方便上手使用。

    为什么要使用node.js?

    它使用事件驱动,非阻塞i/o模型,轻量,高效,商业用途强。

    node有什么缺点?

    最不擅长 CPU和内存的编程操作。

    计算性能不如C

    内存控制不如Java(JavaScript的面向对象是基于JSON的,而Java直接使用内存结构)

    大内存的应用(由于v8引擎有内存设计的限制。32位环境最大堆1G,64位环境最大堆不到2G)

    不需要异步的应用(比如系统管理,自行化脚本等)

    node如何配置?

    安装包直接安装

    判断安装包是否成功:在谷歌控制台界面直接输入node。

    node -v 版本号

    也可配置环境变量,然后在cmd 中输入node 可直接进入

    cmd中找到文件位置的方法

    1.找到文件目录 (node 文件名.js)

    2.使用绝对路径(node 文件绝对路径)

    3.打开文件夹,按住shift键,鼠标在空白处右键 选择在此处打开命令窗口

    注意:

    在node中没有window对象,因为是直接用v8引擎解析。

    node.js 语法。

    1.断言

    console.time()

    用于测试

    比如计算一段循环所用的时间:

    console.time('test');
    for(var i = 0; i < 10000000; i++){}
    console.time('test');

    2.显示文件路径

    console.log(__dirname)   显示当前文件所在的路径

    console.log(__filename)   显示当前文件的全部路径

    3.模块化

    模块化:把代码拆分成模块,方便管理和维护

    var 名字 = require("js文件地址")

    还可以导入自己定义的函数等

    注意:服务端在文件地址前需要加上./    表示当前目录

    4.fs文件系统模块

    var  fs = require("fs");

    然后就可以使用node中内置的模块(包)。

    5.常用内置模块

    fs    文件系统

    http   创建服务

    path   路径

    querystring  参数模块

    url     地址栏

    还有自定义模块

    可到node文档中查看更多和更详细的方法使用

    下面详细给出get 和 post 方式的简单服务器

    var http = require("http");
    var fs = require("fs");
    var querystring = require("querystring");
    var url = require("url");
    
    var server = http.createServer();
    
    server.on("request",function(req,res){
        // console.log(req.url);   //路由
        var urlObj = url.parse(req.url,true);   //把地址栏格式化成对象
    
        var pathname = urlObj.pathname;
    
        var query = urlObj.query;        //获取到url地址栏的参数
    
        if(pathname == "/login" && req.method == "POST"){         //post方法
            var data = "";
            req.on("data",function(chunk){
                data += chunk;
            })
            req.on("end",function(){
                var  dataObj  = querystring.parse(data);
            res.end(dataObj);
            })
        }
        else if(pathname == "/getData" && req.method == "GET"){        //get方法
            fs.readFile("./data/" + query.uname+".json","utf8",function(err,data){
                 res.end(data);
            })
        }
    })
    
    server.listen(3001);        
  • 相关阅读:
    javaWeb 使用 filter 处理 html 标签问题
    javaWeb 使用 filter 处理全站乱码问题
    Kubernetes常见部署方案--滚动更新、重新创建、蓝绿、金丝雀
    阿里云
    Kubernetes技术分析之灰度升级
    fetch进行post请求为什么会首先发一个options 请求?
    免费给你的网站加速,全球访问速度杠杠的
    抗DDOS,我选Cloudflare,免费!
    被骗几十万总结出来的Ddos攻击防护经验!------转自 服务器之家server
    微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布
  • 原文地址:https://www.cnblogs.com/ddjps/p/10476618.html
Copyright © 2011-2022 走看看