码迷,mamicode.com
首页 > 其他好文 > 详细

Node 入门

时间:2019-10-24 23:44:38      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:回调   modules   func   files   serve   一个   自动   javascrip   非阻塞   

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 入门

标签:回调   modules   func   files   serve   一个   自动   javascrip   非阻塞   

原文地址:https://www.cnblogs.com/GetcharZp/p/11735567.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!