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