Node 入门
Node 入门
NodeJs 安装,HelloWorld
- 下载地址
https://nodejs.org/zh-cn/
https://nodejs.org/dist/
- 用 Node命令行输出HelloWorld
console.log("Hello World");
NodeJs 创建应用
- http 模块引用
require('http')
- 服务器创建
http.createServer()
- 端口的监听
server.listen(8888)
- 使用 node环境运行
node server.js
- 代码整合
var http = require('http');
var server = http.createServer((request, response)=>{
response.writeHead(200, {"Content-Type": "text/plain"});
response.end('Hello World');
});
server.listen(8888);
console.log('服务启动。。。 127.0.0.1:8888');
npm 包管理工具
- 在安装好 node.js 的时候就自动安装好了 npm
- npm 作用:包管理工具
- npm 常用命令
① 包下载
npm install 包名
npm install 包名 -g # 全局安装
② 下载源
npm config get registry # 获取下载源地址
npm config set registry https://registry.npm.taobao.org/ # 修改淘宝下载源
③ 安装位置的查看
npm root -g
安装地址修改
[node安装位置]\node_modules\npm中的 npmrc 文件修改为: prefix=D:\Program Files\npm
NodeJs 回调函数
- 阻塞案例
var fs = require('fs');
fs.readFileSync('sync.txt');
console.log(data.toString());
console.log('结束');
- 非阻塞案例
var fs = require('fs');
fs.readFile('sync.txt', (err, data) => {
if (err) throw err;
console.log(data.toString());
});
console.log('结束');
EventEmitter 类
- 作用
实现事件的监听及触发功能
- 事件的监听
event.on('eventName', function(){});
- 事件触发
event.emit('eventName');
- 代码整合
var events = require('events');
var eventEmitter = new events.EventEmitter();
eventEmitter.on("eventName", ()=>{
console.log("触发了");
});
console.log("将要触发");
eventEmitter.emit("eventName");
模块系统
- Diy 模块
console.log("my module run");
exports.word = 'Hello Module';
模块的引用顺序
- 是否是路径形式的加载
require('./my_module')
- 加载缓存
var my_module = require('./my_module');
var my_module = require('./my_module');
- 原生模块
var fs = require('fs');
- 文件模块
// 从当前文件开始到系统根目录依次查找 node_modules这个文件夹是否有我们想要的数据
路由
- 新建一个简单的服务器
var http = require('http');
var server = http.createServer((request, response)=>{
response.end('Index')
});
server.listen(3000);
- 获取用户请求的 路由
request.url
- 获取用户请求的参数
var url = request('url');
var param = url.parse(request.url, true);
console.log(param.query);
- 代码整合
var http = require('http');
var url = require('url');
var server = http.createServer((request, response) => {
if (request.url === '/node') {
response.end('node');
} else if (request.url === '/') {
response.end('Index');
}
var param = url.parse(request.url, true);
console.log(param.query.md);
console.log(param.query.pw);
});
server.listen(3000);
Node 入门的更多相关文章
- <Node入门经典>读书笔记
最近在读<Node入门经典>, 之前没有做笔记, 今天开始把看过自己又写了的代码放这里以免忘记. express var express = require('express') var ...
- Node入门(转)
原文链接:http://www.nodebeginner.org/index-zh-cn.html Node入门 作者: Manuel Kiessling翻译: goddyzhao & Gra ...
- node入门笔记
看了<node入门>http://www.nodebeginner.org/index-zh-cn.html.有些疑难点记下来. 在导出模块的时候给出的代码是这样的 var http = ...
- Node入门教程(1)目录
aicoder.com 全栈实习之简明 Node 入门文档 aicoder.com 线下实习: 不 8000 就业,不还实习费. 如果需要转载本文档,请联系老马,Q: 515154084 JS基础教程 ...
- [整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题
花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程 根据里面的Demo自己手动实现过程中还是遇到了些问题,特整理在此. <1>.由于node.msi安装包已经自动添加了 ...
- 《Node入门》读书笔记——用Node.js开发一个小应用
Android APP的开发告一段落,一个稳定的.实现了基本功能的APP已经交付用户使用了!我和老板交流了下,接下来准备转战Node.js了,而且一部分前端的功能也要做进去!哈哈哈~~~接下来要朝一个 ...
- node入门(三)——gulp运用实例
在上一篇<node入门(二)——gulpfile.js初探>中,我们知道了(看懂入门二及其参考资料)怎么运用gulp来更高效的开发,现在来示范一下. 在package.json里面配置好d ...
- node入门(二)——gulpfile.js初探
本文关于gulpfile.js怎么写,利于完成个性化需求.本文开发环境默认已安装node,详情参考<node入门(一)——安装>. 一.安装gulp npm install -g gulp ...
- Node入门教程(6)第五章:node 模块化(上)模块化演进
node 模块化 JS 诞生的时候,仅仅是为了实现网页表单的本地校验和简单的 dom 操作处理.所以并没有模块化的规范设计. 项目小的时候,我们可以通过命名空间.局部作用域.自执行函数等手段实现变量不 ...
随机推荐
- 程序员成长的四个简单技巧,你 get 了吗?
最近拜读了"阿里工程师的自我修养"手册,12 位技术专家分享生涯感悟来帮助我们这些菜鸡更好的成长,度过中年危机,我收获颇多,其中有不少的方法技巧和我正在使用的,这让我觉得我做的这些 ...
- luogu P2210 Haywire
[返回模拟退火略解] 题目描述 一数轴上有 nnn 个点,有 nnn 个环,求一种组合方案,使得所有边长度和最小. Solution 2210\text{Solution 2210}Solution ...
- Cocos Creator实现1024游戏,免费提供代码。
效果预览 获取代码 私信或留言. 游戏介绍 ● Github上的代码,不能进行合并操作,修改以后,功能类似2048,空白块赏随机位置,生成2,可以往左.右.上.下滑动,数字会朝着指定方向运动,相 ...
- php架构师都要会什么
架构师的成长离不开踩坑,不断试验各种方案,各种踩坑,从小坑到大坑,逐渐归纳.另外就是多学习多交流,兼收并蓄,不用特别在意细节,观其大略,了解常见的各种东西的核心价值与短板所在.一个程序和计算系统软件体 ...
- css3实现饼状图进度及环形进度条
1 <!-- 饼图 --> <div class="pie"></div> <hr /> <!-- 环形图 --> &l ...
- 一文详解CentOS6.5搭建DNS服务
本文详细介绍DNS服务在Linux Operation System 中的搭建过程 一.DNS服务器的工作原理 客户机提出域名解析请求,并将该请求发送给本地的域名服务器.当本地的域名服务器收到请求后, ...
- java学习2-数据类型和运算符
1.数据类型分类 java是强类型语言:a.所有的变量必须先声明后使用 b.指定类型的变量只能接受类型与之匹配的值 java语言支持的类型分为两类:基本类型和引用类型. 基本类型:包括boolean类 ...
- jmeter打印变量的三种方式
1.使用Debug Sampler 2.使用log打印到jemter日志 3.使用System.out.println打印到cmd命令行
- python学习-变量和简单类型(二)
学习笔记中的源码:传送门 1.注释: 单行注释(#):多行注释("""或者''') 2.python标准数据类型:数字(numbers).字符串(string).列表(l ...
- ESP8266开发之旅 基础篇② 如何安装ESP8266的Arduino开发环境
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...