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 对于二次开发 ...
随机推荐
- snmpwalk工具使用
snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户. 在linux下使用snmpwalk工具,我们 ...
- 控制DIV内容滚动的方法,实现不用拖滚动条就可以看到最新消息
三种控制DIV内容滚动的方法: 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv ...
- 使用Vscode添加中文汉化插件
一.首先打开Vscode,找到该软件的扩展,如下: 二.点击扩展按钮之后,会出现如下的界面,有一个扩展搜索输入框,输入chinese之后,会随之产生一些匹配的插件 三.重启一下Vscode,然后就看到 ...
- Java动手动脑02
一.平方数静方法: public class SquareInt { public static void main(String[] args) { int result; for (int x = ...
- vue addRoutes路由动态加载
需求:增加权限控制,实现不同角色显示不同的路由导航 思路:每次登陆后请求接口返回当前角色路由 核心方法:vue-router2.2.0的addRoutes方法 + vuex 以下是我实现的获取菜单路由 ...
- placeholder属性 样式修改(颜色,大小,位置)
input::-webkit-input-placeholder{ color:red; } /* WebKit, Blink, Edge */ input::-moz-placeholder{ co ...
- Supervised pre-trainning有监督预训练
如我们有一个分类任务,数据库很小,这时还是需要通过预训练来避免深度模型的过拟合问题的,只不过预训练是通过在一个大的数据库上(比如imagenet),通过有监督的训练来完成的.这种有监督预训练加小的数据 ...
- [ethereum源码分析](3) ethereum初始化指令
前言 在上一章介绍了关于区块链的一些基础知识,这一章会分析指令 geth --datadir dev/data/02 init private-geth/genesis.json 的源码,若你的eth ...
- kibana的安装和监控
1.1:kibana搭建 kibana只需要在一台机器安装即可 1):解压 tar -zxvf kibana-5.5.2-linux-x86_64.tar.gz -C /home/angel/serv ...
- angular 发送ajax
在使用angular发送ajax的时候get和post一样的,就是method改一下. ajax的js: <script> var app = angular.module('emialV ...