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

  1. 第一步装 node 环境
    1、从官网下载 dmg 文件安装
  1. 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 代码,是目前解析速度最快的引擎
  2.  
  3. 开发 node.js
    一、http 模块的简介
    引入了一个 http 的模块
    var http = require("http");
  4.  
  5. var server = http.createServer(function(req,res){
    requesthttp 请求对象(包含 url、主机名等等一些信息)
    responsehttp 响应对象(服务器返回给客户端的对象)
  6.  
  7. res.end("你好么"); 服务器在返回客户端数据后,结束当次链接,也可以用来给客户端返回数据,但是有一个限制,只能返回一条数据。使用 write 可以返回多条数据。write 参数只接受字符串
    });
  8.  
  9. server.listen(9999);
  10.  
  11. 二、requset 对象 ,里面常用的属性
    url: '/', “/”代表的是当前服务器的根目录
    method: 'GET',
    三、response 对象
    四、后台可以直接输出前端代码
    五、小总结:node 优势
    站在前端开发者角度:1、学习成本低 2、插件管理方便
    语言和环境本身的优势:
    1、使用的谷歌 v8引擎去处理 js,速度很快
    2node.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");
  12.  
  13. 上述代码会先执行打印222222,再执行打印 data
  14.  
  15. 七、简单模块的介绍
    webstorm里面是可以查看到任何模块的源代码的
    查看方式:command + 模块名字
  16.  
  17. 1fs 模块:主要是 node.js里面用来处理文件的一个模块
    // 异步操作---非阻塞操作
    //fs.readFile("1.txt","utf-8",function(error,data){
    // console.log(data);
    //});
  18.  
  19. //同步操作------- 阻塞操作
    var data = fs.readFileSync("1.txt","utf-8");
    console.log(data);
    2url 模块,最典型的例子,用来提取url 传递来的参数
    请求地址:http://127.0.0.1:10000/index.js?name=gxm&pass=123
  20.  
  21. 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);
  22.  
  23. var name = query.query.name;
    var pass = query.query.pass;
  24.  
  25. console.log(name);
    console.log(pass);
    res.end("你好");
    });
    server.listen(10000);
    八、REPL 的介绍
    全称:read eval print loop
    汉语意思:交互式解释器
  26.  
  27. 九:mac 电脑终端如何启动 node.js文件
    找到 js文件所在的目录,cd 命令切换到那个目录,然后使用
    node 文件名 来运行 js 文件
    退出使用:ctrl+c 来退出
  28.  
  29. 十: npm (类似于 homebrew),npm是管理 node 环境下的一个包管理器
    npm install 第三方名字 用来安装node 之外的第三方包
    npm uninstall 第三方名字 用来卸载

node.js的了解的更多相关文章

  1. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  2. 利用Node.js的Net模块实现一个命令行多人聊天室

    1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类 ...

  3. Node.js:进程、子进程与cluster多核处理模块

    1.process对象 process对象就是处理与进程相关信息的全局对象,不需要require引用,且是EventEmitter的实例. 获取进程信息 process对象提供了很多的API来获取当前 ...

  4. Node.js:理解stream

    Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据.流模块便是提供各种API让我们可以很简单的使用Stream. 流分为四种类 ...

  5. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  6. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  7. Node.js npm 详解

    一.npm简介 安装npm请阅读我之前的文章Hello Node中npm安装那一部分,不过只介绍了linux平台,如果是其它平台,有前辈写了更加详细的介绍. npm的全称:Node Package M ...

  8. Node.js入门(一)

    一.Node.js本质上是js的运行环境. 二.可以解析js代码(没有浏览器安全级的限制): 提供系统级的API:1.文件的读写 2.进程的管理 3.网络通信 三.可以关注的四个网站: 1.https ...

  9. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  10. Node.js入门

    开始之前,安利一本正在看的书<站在两个世界的边缘>,作者程浩,上帝丢给他太多理想,却忘了给他完成理想的时间.OK,有兴趣的可以看一看. node.js如标题一样,我也是刚开始接触,大家一起 ...

随机推荐

  1. WPF布局控件常用属性介绍

    WPF布局控件常用属性介绍 其它 | 作者:慧都控件网 | 2011-04-06 13:41:57| 阅读 0次 有用(0) 评论(0)   概述:WPF布局控件都是派生自System.Windows ...

  2. python 邮件发送实例

    #!/usr/bin/env python # -*- coding: utf-8 -*- from email.header import Header from email.mime.text i ...

  3. 关于pytest的一些问题

    一. 测试模块内部使用fixture和测试模块调用外部公共的fixture 1. unittest框架下的测试用例模块 from selenium import webdriver import un ...

  4. docker的应用

    [root@yz6205 ~]# docker imagesINFO[0063] GET /v1.19/images/json REPOSITORY TAG IMAGE ID CREATED VIRT ...

  5. 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)

    今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑.后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因.这个注解 ...

  6. 条款28:避免返回handles指向对象的内部成分。

    首先看看下面这个例子: class Point{ public: point(int x, int y); ... void setX(int newVal); void setY(int newVa ...

  7. dubbo-monitor安装、 监控中心 配置过程

    简单介绍下monitor: Simple Monitor挂掉不会影响到Consumer和Provider之间的调用,所以用于生产环境不会有风险. 配置好了之后可以结合admin管理后台使用,可以清晰的 ...

  8. CSS:Tutorial four

    1.CSS Tables To specify table borders in CSS, use the border property. The example below specifies a ...

  9. 《修炼Java开发技术 在架构中体验设计模式和算法之美》 - 书摘精要

    (P7) 建议直接加入到软件公司中去,这样会学到很多实际的东西: 程序员最主要的发展方向是资深技术专家,无论是 Java..Net 还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师: 增强 ...

  10. boost库做什么用呢?

    1.C++标准库不是已经很全面了吗?Boost又不是界面库,它主要解决些什么问题呢?哪类问题?2.Boost的开发人员都是C++标准委员会的吧,为什么没把它列做标准库,有什么不完善的问题吗? 3.Bo ...