zoukankan      html  css  js  c++  java
  • 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安装位置] ode_modules pm中的 npmrc 文件修改为: prefix=D:Program Files pm

    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);
    
    Aspire to inspire until I expire
  • 相关阅读:
    hdu find the most comfortable road(贪心+并查集)
    hdu 迷瘴(贪心)
    Excel中指定的sheet名称或索引读取数据到DataTable
    SQLServer 批量插入数据的两种方法
    javascript基础教程3
    Enterprise Library 4.1学习笔记 配置应用程序块(c/s和b/s均适用)
    关于同一用户不能同时在两台电脑上登录问题的解决方案
    获取当天为一年中的第几周
    javascript基础教程4
    Excel导出方法选择(转自gwf25sz)
  • 原文地址:https://www.cnblogs.com/GetcharZp/p/11735567.html
Copyright © 2011-2022 走看看