在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 第三方名字 用来卸载

node.js笔记的更多相关文章

  1. Node.js笔记1

    Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...

  2. node.js 笔记

    教程总结笔记: 学习网站:http://www.runoob.com/nodejs/nodejs-install-setup.html Node.js 中文网及安装文件下载: http://nodej ...

  3. Node.js 笔记02

    一.关于命令 常用命令: dir 列出当前目录下面所有的文件 cd 目录名 进入到指定的目录,. 当前目录, .. 进入上级目录,cd . 当前目录, cd .. 上级目录 md 目录名 创建文件夹 ...

  4. node.js 笔记(一)

    参考:https://github.com/alsotang/node-lessons 感谢!!! 本文属于小白入门级笔记,请大牛自动屏蔽!!! 1.     开发环境 os: 10.12.6 nod ...

  5. 学习Node.js笔记(一)

    一.什么是Node.js 1.1.Node.js是什么 Node.js是用来编写高性能网络服务器的JavaScript工具包 Node.js 是一个基于Chrome JavaScript 运行时建立的 ...

  6. Node.js笔记4

    4. 文件系统 fs fs模块是文件操作的封装,提供了同步跟异步操作2个版本 * fs.readFile(filename,[encoding],[callback(err,data)]) 是最简单的 ...

  7. Node.js笔记3

    ###Node.js核心模块 1. 全局对象 Node.js中能够访问到的都是global的属性 **process它用于描述当前 Node.js 进程状态的对象,提供了一个与操作系统的简单接口.** ...

  8. Node.js笔记2

    入门二 5. 事件 Node.js中所有的异步I/O操作完成时都会发送一个事件到事件队列. Events 事件模块 `events.EventEmitter` 简单用法: var EventEmitt ...

  9. node.js 笔记一

    现在地址:http://nodejs.org/download/ 我的机器是windows的,选择的文件是,是编译后的版本:Windows Installer (.msi)  32-bit examp ...

随机推荐

  1. MySQL修改表一次添加多个列(字段)和索引

    MySQL修改表一次添加多个列(字段) ALTER TABLE table_name ADD func varchar(50), ADD gene varchar(50), ADD genedetai ...

  2. VB.NET中的除法运算符 与 C#中的除法运算符

    VB.NET中的除法运算符有两个:/(浮点除法).\(整数除法) C#中的除法运算符只有一个:/(除法) VB.NET中的除法运算符与C#中的除法运算符存在很大的差异,使用时注意区分. 关于VB.NE ...

  3. Autofac 解释第一个例子 《第一篇》

    Autofac是一个轻量级的依赖注入的框架,同类型的框架还有Spring.NET,Unity,Castle等. Autofac的使用有一个非常让人郁闷的地方,就是服务器要求安装有Microsoft . ...

  4. java练习题:解一元二次方程、判断闰年、判断标准身材、三个数取最大值

    1.解一元二次方程 注:求根公式为(-b+根号德尔塔)/2a,(-b-根号德尔塔)/2a Scanner sc=new Scanner(System.in); System.out.println(& ...

  5. hdu3228Island Explorer

    链接 给你两条线及两条线上的点,求最小生成树. 可以挨个枚举一条线上的点,三分出另一条线上离他最近的点进行连边. 注意N.M可能为0 debug了1天半,至今不知道原始二分版本错在哪里.. #incl ...

  6. charles抓包的使用教程

    // Charles 从入门到精通:(http://blog.csdn.net/donwei8/article/details/51647752) //抓包工具:Charles-断点修改 教程 (ht ...

  7. C++ Primer 第九章 顺序容器

    由于书籍上写的已经很经典了,故大部分用图片的形式来阐述概念,代码纯手打进行验证. 1.顺序容器类型:vector.deque.list.forword_list.array.string. 2.顺序容 ...

  8. git删除远程仓库的某次错误提交

    改日写git的各种本地恢复 今天不小心把一个分支合并到master上了,上网查了一下回复的方法,简单来说就是: 在本地 把远程的master分支删除再把reset后的分支内容给push上去 新建old ...

  9. 给一个div绝对定位后,如何让它水平居中

    <style> .footer{position:absolute;left:0;right:0} </style> <div classs="footer&q ...

  10. Octopus系列之价格计算公式

    百分比:在原价的基础上优惠5%,相当于95%折销售实际价格:最后实际销售的价格[基准价格:如果有特价就基于特价,没有特价基于原价]优惠金额:减少的金额 批量优惠 百分比: 原价*(1-5%)的算法实际 ...