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. 如何在vue中引入图片?

    当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形: 使用一. 我们在data里面定义好图片路径 imgUrl:'../assets/logo.png' 然后,在template模板里面 ...

  2. TLS漏洞:超过50万个电子邮件服务器容易受黑客攻击,太可怕了

    2019年在流行的开源Exim电子邮件服务器软件中发现了一个关键的远程执行代码漏洞,至少有超过50万个电子邮件服务器容易受到远程黑客攻击.Exim是一种广泛使用的开源邮件传输代理(MTA)软件,为类似 ...

  3. js-进度条-动画

    效果图如下:       HTML: <h1>js实现进度条</h1> <div id="warp"> <div id="inn ...

  4. ExoPlayer + 边缓存边播放

    在此基础上改动:https://www.cnblogs.com/candyzhmm/p/9957928.html private void openPlayer(String videoUrl) { ...

  5. 特征提取算法(3)——SIFT特征提取算子

    目录: 前言 1.高斯尺度空间GSS 2.高斯差分DOG 用DoG检测特征点 GSS尺度选择 3.图像金字塔建立 用前一个octave中的倒数第三幅图像生成下一octave中的第一幅图像 每层octa ...

  6. AGC030F - Permutation and Minimum

    https://atcoder.jp/contests/agc030/tasks/agc030_f 题解 我们先把这个排列从\(1 \sim 2n\)表达出来,然后题面中的每一对数我们可以用一条线把他 ...

  7. 3D Computer Grapihcs Using OpenGL - 02 QGLWidget

    用红色来填充GLWidget窗口 修改MyGlWindow.h,添加两个函数,一个用来初始化OpengGL,一个用来绘制OpenGL #pragma once #include <QtOpenG ...

  8. 通过java反射机制,修改年龄字段的值

    需求:将生日转为年龄 /** * 获取年龄值 */ public List getAgeInfo(List list) throws Exception { if (null == list || l ...

  9. Linux驱动开发2——字符设备驱动

    1.申请设备号 #include <linux/fs.h> int register_chrdev_region(dev_t first, unsigned int count, char ...

  10. 模拟赛DAY1 T2腐草为萤

    2.腐草为萤(dzy.cpp/c) [题目背景] 纤弱的淤泥中妖冶颓废在季夏第三月最幼嫩的新叶连凋零都不屑何必生离死别——银临<腐草为萤> [问题描述] 扶苏给了你一棵树,这棵树上长满了幼 ...