02_10.nodejs第二天

NodeJS 第二天

复习

  • NodeJS 简介
  • NodeJS 的安装
  • NodeJS 初体验
  • 环境变量
  • NodeJS中的JavaScript
    • 天生支持模块化
    • 一个模块就是一个私有作用域
    • 模块与模块之间提供了特定的通信交互规则
      • require
      • module.exports
    • 组成
      • ECMAScript
      • 核心模块
        • fs:文件模块
          • 常用API:http://javascript.ruanyifeng.com/nodejs/fs.html
        • http:网络模块
      • 第三方模块
        • moment
        • art-template
        • 使用:
          • npm install 第三方模块名
          • 使用reqiure 函数加载
          • 看文档,自己写
      • 用户自定义模块
  • 使用Node 模仿 Apach 文件浏览功能

渲染方式

  • 浏览器渲染

    • 特点
      • 从服务器得到数据
      • 在浏览器中将数据进行渲染
    • 优点:
      • 第一次加载页面时数据相对而言会少一点
      • 用户体验会好一点
    • 缺点:
      • 不利于SEO优化
  • 服务器渲染

    • 特点:
      • 所有的数据在服务器端已经加载完毕
      • 浏览器只负责渲染页面就可以
    • 优点:
      • 利于SEO优化
    • 缺点:
      • 第一次加载时速度会慢一点

文件操作的同步与异步

  • 异步读取文件

    console.log('111');
    
    fs.readFile('./a.txt',function(err,data) {
    
        console.log('222');
    
    });
    
    fs.readFile('./b.txt',function(err,data) {
    
        console.log('333');
    
    });
    
    fs.readFile('./c.txt',function(err,data) {
    
        console.log('444');
    
    });
    
    console.log('555'); 
    
  • 同步读取文件

      ​```
      var fs = require('fs');
      
      console.log('111');
      
      var dataA = fs.readFileSync('./a.txt').toString();
      console.log('222');
      console.log(dataA);
      
      var dataB = fs.readFileSync('./a.txt').toString();
      console.log('333');
      console.log(dataB);
      
      var dataC = fs.readFileSync('./a.txt').toString();
      console.log('444');
      console.log(dataC);
      
      console.log('555');
      ​```
    
  • 区别:

    • 异步:
      • 通过一个回调函数来获取异步操作结果
      • 异步操作的回调函数第一个 参数:err
        • 如果操作成功:err 为null
        • 如果操作失败:err 为 错误对象
        • 所以在异步操作中,优先判断 err 是否出错
        • 在异步操作中,无法通过try-catch来捕获异常
    • 同步:
      • 直接等待代码读取完文件再去执行下面的代码

第三方模块:模板引擎的使用

  • 总结:数据使用模板渲染即可以在浏览器端渲染,又可以在服务器端渲染.
    • 区别:
      1. 在浏览器端渲染(如:京东商品的评论信息),可以使页面加载更快,用户体验更好
      2. 在服务器端渲染(如:京东商品数据),可以使页面利于SEO优化

得到文件的状态

  • fs.stat(path, callback)
    • 作用:用来判断传入的路径的状态
    • 参数:
      • path:要传入的路径
      • callback:回调函数
        • 回调函数参数:
          • err 目录出错时的对象
          • stat 路径的状态对象
            • stat.isFile():判断路径对应的是否是文件
            • stat.isDirectory():判断路径对应的是否是文件夹
            • stat.size:得到对应路径文件的大小(如果路径对应的是文件夹,则得不到大小)
            • stat.mtime:得到应对路径文件的修改时间

使用 nodemon 实现改完代码服务自动重启

  • nodemon 是一个基于 Node 开发的一个命令行工具,

    • 可以实现监视代码改动,自动重启服务的功能。
    • 本质还是通过 node 执行的咱们自己写的脚本代码。
  • 使用步骤:

    • 第一,安装 nodemon

      简写:npm i -g nodemon
      
      全称:npm install --global nodemon
      
    • 第二,基本使用:

      ​```
       以前的做法:node app.js
      
       现在的做法:nodemon app.js 
      ​```
      
      ​
      

web中的路径

你可能感兴趣的:(02_10.nodejs第二天)