zoukankan      html  css  js  c++  java
  • node入门与自己总结的一些东西

      对于node,我接触不深,也是刚学习,从搭建环境到配置好服务器,再到写请求,响应并配置路由,可以说也踩了不少坑。这篇是对这几天学习研究的一些总结。自己没事的时候好翻出来看看。

    一、什么是node.js?我们为什么要使用它?

      node.js是运行在服务器端的JavaScript;是一个后端的JavaScript运行环境,采用了Google的V8引擎,跑起来是贼快

      node.js能做的一些事情;大概的讲(这些都是摘抄的,有些不知道具体干嘛的都是,有时间研究):

      1.具有复杂逻辑的网站,

      2.基于社交网络的web应用

      3.web socket服务器

      4.命令行工具

      5.单元测试工具

      6.交互式终端程序

      7.客户端JavaScript编译器。

    二、安装node

      直接百度node的官网,然后下载适合自己电脑的版本即可,然后下一步下一步就OK。通过win+r 打开命令行,输入node -v 查看版本,即可看是否安装好(其中我看也有配置环境变量的,百度上都有流程,我是直接安装了就能使用的)。

      可以在命令行直接输入node,进入node的模式, 通过 node xx.js 来运行js文件,可以自己写一个console.log(hello word!) 来试一下。

      对了,安装了node,才可以使用npm安装配置,npm是跟随node.js一起安装的包管理工具,常见的应用场景有一下几种:

      1.允许用户从npm服务器下载别人编写的第三方包到本地使用(我的理解就是直接下载包吧);

      2.允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。

      3.允许用户自己编写的包或者命令行上传到npm服务器,供他人使用。

      通过 npm -v 来查看版本

      之后,就用npm来安装包。安装express等等一些包,分为全局安装和本地安装,我直接全局安装了,记得安装的时候要注意初始化,我一开始有时候安装出错,就npm init 进行初始化,然后再全局安装。这样就安装好了。

      node可以直接通过require来依赖引入包,这点感觉很舒服。

    三、用node创建一个基本的服务器

       1.创建一个新的文件夹,例如名字为myweb,在myweb里面写一个first.js文件,文件面写console.log(hello node!);通过命令行进入myweb,然后在命令行输入 node first.js 会看到命令行输出了hello node!

     2.继续例子,在myweb里面创建一个新文件second.js文件,内容如下所示,然后通过 node seconde.js来运行该文件,打开网页 localhost:8080 发现页面上有hello world ,注意是页面上而不是命令行,命令行会输出this is my first time;

          var http=require("http");                //引入包的服务

          http.createServer(function(req,res){            //创建一个http服务器
          res.writeHead(200,{'Content-Type':'text/html'}); //服务器响应的信息 (状态码和格式)
          res.end("hello world");         //服务器响应的内容
          }).listen(8080);  //监听的是8080端口

          console.log("this is my first time"); 

      这就创建了一个超级简单的服务器

    注意:我是用的window7的系统,命令行好像不识别中文字,在wiondow10的系统下应该是识别中文的。所以我在命令行输出的时候都是英文。

    四、node的回调与异步方式。

      node里面大多都是回调,回调函数是什么意思,就是这个函数执行完任务了就会返回了,而不会影响下面的解析。比如,我们可以一边读取文件,一边执行其他任务,而不会造成阻塞。将文件的内容当成回调函数的参数返回,大大提升了node.js的性能。

      抽象的讲,比如说我们或许一个文本的内容,然后下面在输出一个内容,一般来说是先执行上面的,在执行下面的

      例子1: var data=fs.readFile('input.text');  //通过某个方法来或许一个文字

         console.log('我是第一条输出的');

         console.log('我是第二条输出的');

        这就是同步的,阻塞的,即先执行上面的,后执行下面的

      例子2:回调的例子

        fs.readFile('input.text',function(err,data){  //通过回调的方式来获取文本内容

          if(err){console.log(err)}  //如果失败了则抛出失败的函数

          console.log('我是第二条输出的')

        })

        console.log('我是第一条输出的')

        可以测试输出一下,结果就是如我写的输出的那样,这就是回调,并不影响下面的函数的执行。

    本来想把学的理解的都写在一篇文章,但是太长了,还是分开写吧,下一篇写node.js创建一个web端的服务器与express框架的一些简单使用。

                                                  每天都学习进步一些,莫忘初心,方得始终。

      

  • 相关阅读:
    变量在函数内外的作用域 3
    php中用大括号把?>和<?php框起来的作用
    变量在函数内外的作用域 2
    变量在函数内外的作用域
    字母大小写对变量和函数的区别
    require()和include()代码重用
    str_place()替换函数
    【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位网友补充完善
    android SQLite使用SQLiteOpenHelper类对数据库进行操作
    tomcat设置IP地址或者域名访问
  • 原文地址:https://www.cnblogs.com/pengaijin/p/7118718.html
Copyright © 2011-2022 走看看