node基本介绍及使用
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基本介绍及使用的更多相关文章
- node.js介绍和npm的使用
Node.js介绍 打开Nodejs英文网:https://nodejs.org/en/ 中文网:http://nodejs.cn/ 我们会发现这样一句话: 翻译成中文如下: Node.js 是一个基 ...
- Node.js 介绍及安装
Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.本文详细介绍了No ...
- Node.js介绍、优势、用途
一.Node.js介绍Node.js是一个javascript运行环境.它让javascript可以开发后端程序,实现几乎其他后端语言实现的所有功能,可以与PHP.Java.Python..NET.R ...
- Node.js 介绍
章节 Node.js 介绍 Node.js 入门 Node.js 模块 Node.js HTTP模块 Node.js 文件系统模块 Node.js URL模块 Node.js NPM Node.js ...
- node.js介绍
官网说明: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...
- [Unity]插件Node Editor介绍 实现类似状态机画布的扩展
Unity自带的动画状态机有一套对策划非常友好的UI.但是Unity官方没有公开这些控件的api.除了Asset Store里一些已有的方案,我在这里介绍一个在github上的开源项目,封装了底层,但 ...
- node.js介绍及Win7环境安装测试(转)
官网描述: Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable ...
- 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. ...
- Node.js入门-Node.js 介绍
Node.js 是什么 Node.js 不是一种独立的语言,与 PHP,Python 等"既是语言优势平台"不同,它也不是一个 JavaScrip 框架,不同于 CakePHP,D ...
- 学习NodeJS第一天:node.js介绍
Node.JS 前辈 C 程序猿 Ryan Dahl(http://four.livejournal.com/)工程,根据 Google 著名的开源 JavaScript 发动机 V8 对于二次开发 ...
随机推荐
- FAT12
FAT12 is one of FAT file system families,mostly used on 1.44MB floppy disk. FAT 's full name is File ...
- VS插件CodeRush for Visual Studio发布v18.2.9|附下载
CodeRush能帮助你以极高的效率创建和维护源代码.Consume-first 申明,强大的模板,智能的选择工具,智能代码分析和创新的导航以及一个无与伦比的重构集,在它们的帮助下能够大大的提高你效率 ...
- JavaSE---显式锁
1.概述 1.1.jdk5之前,用于 调节共享对象访问机制 只有 synchronized.volatile: jdk5之后,提供了 显示锁:Lock.ReentrantLock...: ...
- 进度对话框QProgressDialog
继承于 QDialog import sys,time from PyQt5.QtWidgets import QApplication, QWidget,QPushButton,QProgress ...
- 大数减法(A - B Problem Plus)问题
解题思路 flagA为0表示A为正整数,为-1表示A为负整数: flagB为0表示B为正整数,为2表示B为负整数: 而 flag = flagA + flagB. 1.当 flag == 0 表示数A ...
- extjs计算两个DateField所间隔的月份(天数)
需求:两个DateField控件,分别为开始时间和结束时间.当选择完结束时间后,自动计算这两个时间段所间隔的月或天数. 需要解决的问题: 1.直接使用Ext.getCmp('endDate').get ...
- POJ 2391 Ombrophobic Bovines ( 经典最大流 && Floyd && 二分 && 拆点建图)
题意 : 给出一些牛棚,每个牛棚都原本都有一些牛但是每个牛棚可以容纳的牛都是有限的,现在给出一些路与路的花费和牛棚拥有的牛和可以容纳牛的数量,要求最短能在多少时间内使得每头牛都有安身的牛棚.( 这里注 ...
- sh_06_个人信息
sh_06_个人信息 """ 姓名:小明 年龄:18 岁 性别:是男生 身高:1.75 米 体重:75.0 公斤 """ # 在 Pytho ...
- Web开发者易犯的五大严重错误
无论你是编程高手,还是技术爱好者,在进行Web开发过程中,总避免不了犯各种各样的错误. 犯了错误,可以改正.但如果犯了某些错误,则会带来重大损失.遗憾.令人惊讶的是,这些错误往往是最普通,最容易避免. ...
- 手把手教你搞定个推iOS推送SDK集成
以下是一位开发者在集成个推iOS推送SDK过程中的真实经历. 作者:Ezreallp 一次偶然的机会,公司的项目要用到推送,我自己本来就很懒,不愿意去弄整套APNS的流程,刚好之前跟朋友聊起过他们的产 ...