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 的时候就自动安装好了 npmnpm 作用:包管理工具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);