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\nt\argv.js,
argv.js----- console.log(process.argv)
运行,输入 G:\nt>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('',function onEnd(){
compute();
});
假如somethingComputeBefore()与compute()是两个较为耗时的函数,调用
doSomething()先调用 somethingComputeBefore(),然后立即调用回调函数,在onEnd()中又会执行compute();
可以改下
function doSomething(args,callback){
somethingBefor(args);
process.nextTick(callback);
}
使用process.nextTick()后,改写后的程序会把上面耗时的操作拆分为两个事件,减少每个事件的执行时间。
node.js 基础学习笔记1的更多相关文章
- node.js 基础学习笔记3 -http
http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...
- node.js 基础学习笔记2
Module和Package是Node.js最重要的支柱. Node.j 提供require函数来调用其他模块,而且模块都是基于文件.模块和包区别是透明的,因此常常不作区分. 1.模块和文件一一对应. ...
- node.js 基础学习笔记3 -express
1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页 ...
- handlebars.js基础学习笔记
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...
- 两万字Vue.js基础学习笔记
Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...
- Node.js入门学习笔记(一)
先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出& ...
- Node.js基础学习四之注册功能
前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...
- 两万字Vue.js基础学习笔记(二)
Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...
- Node.js基础学习三之登录功能
本篇介绍Node.js访问数据库并返回数据给客户端 需求基于Node.js学习(二) 数据库请下载:user.sql 1.创建user 实体类(model-user.js) function User ...
随机推荐
- 【转载】解决方案:Resharper对系统关键字提示‘can not resolve symbol XXX’,并且显示红色,但是编译没有问题
环境:Visual studio 2013 community Update 4 + Resharper 8.2 + Windows 7 现象: 我的C#工程编译没有问题, 但是在代码编辑器中系统关键 ...
- [转]win7下apache2.4响应很慢解决方法
win7下apache2.4响应很慢解决方法 PS.按照以下方法测试了以下,似乎确实快了一点[skysowe] 转载自: http://blog.sina.com.cn/s/blog_75ad1010 ...
- 为重负网络优化 Nginx 和 Node.js --引用自https://linux.cn/article-1314-1.html
为重负网络优化 Nginx 和 Node.js 在搭建高吞吐量web应用这个议题上,NginX和Node.js可谓是天生一对.他们都是基于事件驱动模型而设计,可以轻易突破Apache等传统web服务器 ...
- 每日学习心得:$.extend()方法和(function($){...})(jQuery)详解
2014-02-09 前言: 节后头两天上班,主要是调整工作状态.项目也不是很紧,趁着周末把年前遇到了一些关于JS和JQuery的一些问题给总结一下.主要是介绍JQuery的extend方法和(fun ...
- java消息推送与接收
package com.zl; import java.net.ServerSocket; import java.net.Socket; import org.apache.commons.mvc. ...
- 关于jQuery中的submit()函数
关于jQuery中的submit()函数(绑定event handler or 触发event?) 今天在敲代码的时候无意间碰到了一个比较绕的问题(一个小师弟问的问题),思前想后都不明白,上午百度.谷 ...
- JS教程:获取当前地址栏URL
URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成:scheme://host:port/path?query#fragment s ...
- knockout+bootstrap+MVC 登录页实现
一.环境概述 1.MVC4.0项目 2.bootstrap引入: 生产环境版本引入:在web\Content 文件夹中引入bootstrap-3.2.0-dist, 源码版本CSS引入:将bootst ...
- PDO多种方式取得查询结果
PDO多种方式取得查询结果 01 December 2009 1:26 Tuesday by Sjolzy PDO最大的特点之一是它的灵活性,本节将介绍如何取得查询结果,包括: 数组(数值或关联数组) ...
- Tomcat应用中post方式传参数长度限制
Tomcat应用中post方式传参数长度限制 jsp页面上是没有限制的,但是在tomcat服务器上有限制,Tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostS ...