1.什么是node

简单的说node.js就是运行在服务端的JavaScript

官网地址:http://nodejs.cn/

2.node安装

2.1下载node

node下载:https://nodejs.org/en/download/

2.2命令行测试

node -v

3.快速入门

3.1控制台输出

创建demo1.js

var a = 1;
var b = 2;
console.log(a+b);

cmd中输入

node demo1.js	//结果为3

3.2使用函数

创建demo2.js

//使用函数
var c = add(100,200);
console.log(c); function add(a,b){
return a+b;
}

cmd中输入

node demo2.js	//结果为300

3.3模块化编程

创建demo3_1.js

//被调用的模块
exports.add = function(a,b){
return a+b;
}

创建demo3_2.js

//调用模块
var demo = require("./demo3_1")
console.log(demo.add(200,300));

cmd中输入

node demo3_2.js	//结果为500

3.4创建web服务器

参考node中文文档:http://nodejs.cn/api/

创建demo4.js

//创建web服务器
//http为node内置的web模块
var http = require("http")
//创建服务
http.createServer(function(request,response){
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
const body = 'hello world';
response.writeHead(200,{
'Content-Type': 'text/plain'
});
// 发送响应数据 "Hello World"
response.end(body);
})
.listen(8888); //监听8888端口

cmd中输入

node demo4.js

服务启动后,输入网站:http://localhost:8888 网页结果:"hello world" 按ctrl+c终止运行

3.5服务端渲染

创建demo5.js

//理解服务端渲染,循环输出hello world  10次
//客服端渲染可以看到for循环源码,而服务端渲染只能看到for循环的10次hello world结果
var http = require('http');
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
for(var i=0;i<10;i++){
//write方法可以多次调用
response.write('Hello World\n');
}
//end方法只能调用一次,表示消息结束
response.end('');
}).listen(8888);

cmd中输入

node demo5.js

服务启动后,输入网站:http://localhost:8888 网页结果:10条"hello world"字符 按ctrl+c终止运行

右键“查看源代码”,并没有发现for循环语句,而是10条hello world,说明这个循环时在服务端完成的,而非客户端完成。这与jsp很相似。

3.6接受参数

创建demo6.js

//接受参数
var http = require('http');
//引入url模块,解析url
var url = require('url');
http.createServer(function(request, response){
//响应设置头信息
response.writeHead(200, {'Content-Type': 'text/plain'});
// 解析 url 参数,参考nodejs的api文档
var params = url.parse(request.url, true).query;
response.write("name:" + params.name);
response.write("\n");
response.end();
}).listen(8888);

cmd中输入

node demo6.js

服务启动后,输入网站:http://localhost:8888/?name=abc 网页结果:"name:abc" 按ctrl+c终止运行

node基本介绍及使用的更多相关文章

  1. node.js介绍和npm的使用

    Node.js介绍 打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一个基 ...

  2. Node.js 介绍及安装

    Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...

  3. Node.js介绍、优势、用途

    一.Node.js介绍Node.js是一个javascript运行环境.它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP.Java.Python..NET.R ...

  4. Node.js 介绍

    章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...

  5. node.js介绍

    官网说明: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...

  6. [Unity]插件Node Editor介绍 实现类似状态机画布的扩展

    Unity自带的动画状态机有一套对策划非常友好的UI.但是Unity官方没有公开这些控件的api.除了Asset Store里一些已有的方案,我在这里介绍一个在github上的开源项目,封装了底层,但 ...

  7. node.js介绍及Win7环境安装测试(转)

    官网描述: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...

  8. Node.js权威指南 (1) - Node.js介绍

    1.1 Node.js概述 / 2 1.1.1 使用Node.js能够解决什么问题 / 2 1.1.2 实现高性能服务器 / 2 1.1.3 非阻塞型I/O及事件环机制 / 2 1.1.4 Node. ...

  9. Node.js入门-Node.js 介绍

    Node.js 是什么 Node.js 不是一种独立的语言,与 PHP,Python 等"既是语言优势平台"不同,它也不是一个 JavaScrip 框架,不同于 CakePHP,D ...

  10. 学习NodeJS第一天:node.js介绍

    Node.JS 前辈 C 程序猿 Ryan Dahl(http://four.livejournal.com/)工程,根据 Google 著名的开源 JavaScript 发动机 V8 对于二次开发 ...

随机推荐

  1. FAT12

    FAT12 is one of FAT file system families,mostly used on 1.44MB floppy disk. FAT 's full name is File ...

  2. VS插件CodeRush for Visual Studio发布v18.2.9|附下载

    CodeRush能帮助你以极高的效率创建和维护源代码.Consume-first 申明,强大的模板,智能的选择工具,智能代码分析和创新的导航以及一个无与伦比的重构集,在它们的帮助下能够大大的提高你效率 ...

  3. JavaSE---显式锁

    1.概述 1.1.jdk5之前,用于  调节共享对象访问机制  只有 synchronized.volatile:     jdk5之后,提供了  显示锁:Lock.ReentrantLock...: ...

  4. 进度对话框QProgressDialog

    继承于  QDialog import sys,time from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QProgress ...

  5. 大数减法(A - B Problem Plus)问题

    解题思路 flagA为0表示A为正整数,为-1表示A为负整数: flagB为0表示B为正整数,为2表示B为负整数: 而 flag = flagA + flagB. 1.当 flag == 0 表示数A ...

  6. extjs计算两个DateField所间隔的月份(天数)

    需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...

  7. POJ 2391 Ombrophobic Bovines ( 经典最大流 && Floyd && 二分 && 拆点建图)

    题意 : 给出一些牛棚,每个牛棚都原本都有一些牛但是每个牛棚可以容纳的牛都是有限的,现在给出一些路与路的花费和牛棚拥有的牛和可以容纳牛的数量,要求最短能在多少时间内使得每头牛都有安身的牛棚.( 这里注 ...

  8. sh_06_个人信息

    sh_06_个人信息 """ 姓名:小明 年龄:18 岁 性别:是男生 身高:1.75 米 体重:75.0 公斤 """ # 在 Pytho ...

  9. Web开发者易犯的五大严重错误

    无论你是编程高手,还是技术爱好者,在进行Web开发过程中,总避免不了犯各种各样的错误. 犯了错误,可以改正.但如果犯了某些错误,则会带来重大损失.遗憾.令人惊讶的是,这些错误往往是最普通,最容易避免. ...

  10. 手把手教你搞定个推iOS推送SDK集成

    以下是一位开发者在集成个推iOS推送SDK过程中的真实经历. 作者:Ezreallp 一次偶然的机会,公司的项目要用到推送,我自己本来就很懒,不愿意去弄整套APNS的流程,刚好之前跟朋友聊起过他们的产 ...