zoukankan      html  css  js  c++  java
  • node.js 基础学习笔记1

    1.

      node -v 查看版本

      node -e --js代码

      node --进入编辑模式

      Ctrl+C 退出编译模式

    var http=require('http')
    http.createServer(function(req,res){
        res.writeHead(200,{'Content-Type':'text/html'});
        res.write('<h1>Hello world</h1>');
        res.end('<p>china</p>');
    }).listen(3000);

       将文件保存为 app.js,进入使用命令行进入app.js 所在没得目录,启动服务器。

      在浏览器中输入 http://localhost:3000/,即可看到页面内容。

      

          npm -install -supervisor -g //全局模式

      2.全局对象与全局变量

        所有属性都可以在程序中的任何地方访问,即全局变量。

        Node.js的全局对象是global,Js中,通常window是全局对象。

        global最根本的作用是作为全局变量的宿主。

        满足以下条件称为全局变量。

        1.在最外层定义的变量。

        2.全局对象的属性。

        3.隐式定义的变量(未定义直接副职的变量)

        在Node.js中不可能在最外层定义变量,因为所有用户代码都是属于当前模块的,而模块本身不是最外层上下文。

        因此,不提议全局变量。

      3.process 用于描述当前Node.j进程状态的对象。

        (1) process.argv 命令行参数数组

          我们在G targv.js,

          argv.js----- console.log(process.argv)

            运行,输入 G: t>node argv.js xianrongbin liudehua

               输出: [ 'node', 'G:\nt\argv.js', 'xianrongbin', 'liudehua' ]

         (2)process.stdout 标准输出流

           console.log() 底层是用process.stdout.write()实现。 

           (3)prcess.stdin是标准输入流,初始时它是被暂停的

    process.stdin.resume();
    process.stdin.on('data',function(data){
        process.stdout.write('read from console========   '+data.toString());
    })

          运行:如果我们输入: this is node demo

              则输出  rread from console======  tis is node demo

         (4)process.nextTick(callback)的功能是为事件循环设置一项任务。

        Node.js会在下次事件循环相应时调用callback。Node.j适合IO密集型应用,而不是计算密集型应用。

        如下:

    function doSomething(args,callback){
            somethingComputeBefore(args);
            callback();
    }
    
    doSomething('12345',function onEnd(){
            compute();
    });

      假如somethingComputeBefore()与compute()是两个较为耗时的函数,调用

      doSomething()先调用 somethingComputeBefore(),然后立即调用回调函数,在onEnd()中又会执行compute(); 

      可以改下

    function doSomething(args,callback){
        somethingBefor(args);
        process.nextTick(callback);
    }

      使用process.nextTick()后,改写后的程序会把上面耗时的操作拆分为两个事件,减少每个事件的执行时间。

         

         

  • 相关阅读:
    Python项目生成requirements.txt的多种方式
    标准的Flask启动文件
    Flask的错误日志处理和|ORM操作
    Django的model中创建表
    Redis的删除机制、持久化 主从
    RabbitMQ 消息队列
    IP地址与子网掩码逐位相与
    IP地址转二进制
    一款很好用的工具
    放球问题
  • 原文地址:https://www.cnblogs.com/xianrongbin/p/4755954.html
Copyright © 2011-2022 走看看