zoukankan      html  css  js  c++  java
  • node.js笔记

    在node环境上面运行js代码,js相当于php,node相当于apache环境

    第一步装 node 环境
    1、从官网下载 dmg 文件安装
    2、通过命令行安装 需要用到 homebrew(mac上专门用来管理软件的包管理器也叫仓库,相当于 linux 上的 yum 仓库)
    第一步:安装 homebrew -》 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    第二步:输入 brew -v 验证是否安装成功
    技巧:苹果电脑如果升级,造成了 ruby 环境的升级,homebrew 无法使用,需要修改 homebrew 的 配置文件(/usr/local/Library/brew.rb)
    第三步: 通过 brew 安装 node 环境(node 环境需要依赖其他的一些环境,比如 git 等等,在 mac 电脑上配置 node 所需要依赖的环境很简单,只需要安装 xcode)
    第四步:brew search 搜索软件
    brew install 安装软件
    brew list 查看当前通过 brew 安装的所有软件
    第五步:命令行输入 brew install node 安装环境
    注意:node 环境,google 公司开发的,使用的是 v8引擎去解析 js 代码,是目前解析速度最快的引擎

    开发 node.js
    一、http 模块的简介
    引入了一个 http 的模块
    var http = require("http");

    var server = http.createServer(function(req,res){
    request:http 请求对象(包含 url、主机名等等一些信息)
    response:http 响应对象(服务器返回给客户端的对象)

    res.end("你好么"); 服务器在返回客户端数据后,结束当次链接,也可以用来给客户端返回数据,但是有一个限制,只能返回一条数据。使用 write 可以返回多条数据。write 参数只接受字符串
    });

    server.listen(9999);

    二、requset 对象 ,里面常用的属性
    url: '/', “/”代表的是当前服务器的根目录
    method: 'GET',
    三、response 对象
    四、后台可以直接输出前端代码
    五、小总结:node 优势
    站在前端开发者角度:1、学习成本低 2、插件管理方便
    语言和环境本身的优势:
    1、使用的谷歌 v8引擎去处理 js,速度很快
    2、node.js是目前处理并发情况最好的语言,完全是异步开发,这个明显区别于传统的多线程开发
    3、不会出现死锁问题
    4、目前各大主流的硬件厂商开始支持 node
    六:异步处理、回调函数
    1、系统模块化处理:node 封装了很多模块,以供开发者使用,通过 require 引入一个模块,常见有 http 模块,url 模块,fs 模块。。。。
    2、异步处理表现 node 代码里面,(node 里面几乎所有的回调函数采用的都是异步处理的方式)
    fs.readFile("1.txt","utf-8",function(error,data){
    console.log(data);
    });
    console.log("222222222222");

    上述代码会先执行打印222222,再执行打印 data

    七、简单模块的介绍
    在 webstorm里面是可以查看到任何模块的源代码的
    查看方式:command + 模块名字

    1、fs 模块:主要是 node.js里面用来处理文件的一个模块
    // 异步操作---非阻塞操作
    //fs.readFile("1.txt","utf-8",function(error,data){
    // console.log(data);
    //});

    //同步操作------- 阻塞操作
    var data = fs.readFileSync("1.txt","utf-8");
    console.log(data);
    2、url 模块,最典型的例子,用来提取url 传递来的参数
    请求地址:http://127.0.0.1:10000/index.js?name=gxm&pass=123

    var http = require("http");
    // 引入 url 模块
    var modul_url = require("url");
    var server = http.createServer(function(req,res){
    // 利用 url 模块解析请求对象的 url,获取有用的参数
    var query = modul_url.parse(req.url,true);

    var name = query.query.name;
    var pass = query.query.pass;

    console.log(name);
    console.log(pass);
    res.end("你好");
    });
    server.listen(10000);
    八、REPL 的介绍
    全称:read eval print loop
    汉语意思:交互式解释器

    九:mac 电脑终端如何启动 node.js文件
    找到 js文件所在的目录,cd 命令切换到那个目录,然后使用
    node 文件名 来运行 js 文件
    退出使用:ctrl+c 来退出

    十: npm (类似于 homebrew),npm是管理 node 环境下的一个包管理器
    npm install 第三方名字 用来安装node 之外的第三方包
    npm uninstall 第三方名字 用来卸载

  • 相关阅读:
    POJ 3710 Christmas Game#经典图SG博弈
    POJ 2599 A funny game#树形SG(DFS实现)
    POJ 2425 A Chess Game#树形SG
    LeetCode Array Easy 122. Best Time to Buy and Sell Stock II
    LeetCode Array Easy121. Best Time to Buy and Sell Stock
    LeetCode Array Easy 119. Pascal's Triangle II
    LeetCode Array Easy 118. Pascal's Triangle
    LeetCode Array Easy 88. Merge Sorted Array
    ASP.NET MVC 学习笔记之 MVC + EF中的EO DTO ViewModel
    ASP.NET MVC 学习笔记之面向切面编程与过滤器
  • 原文地址:https://www.cnblogs.com/yk-ontheway/p/5789669.html
Copyright © 2011-2022 走看看