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);