• Node.js学习笔记_No.04


    npm与包的运用

    案例:格式化时间

    传统做法

    在这里插入图片描述
    dateFormat.js

    //1. 定义格式化时间的方法
    function dataFormat(dtStr) {
        const dt = new Date(dtStr)
    
    
        const y = dt.getFullYear()
        const m = padZero(dt.getMonth() + 1)
        const d = padZero(dt.getDate())
    
        const hh = padZero(dt.getHours())
        const mm = padZero(dt.getMinutes())
        const ss = padZero(dt.getSeconds())
    
        //`YYYY-MM-DD HH:mm:ss`
        return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
    
    }
    
    // 定义补0函数
    function padZero(n) {
        return n > 9 ? n : '0' + n
    }
    
    module.exports = {
        dataFormat
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    test.js

    //导入自定义的格式化时间的模块
    const TIME = require('./dataFormat')
    
    //调用方法,进行时间的格式化
    const dt = new Date()
    //console.log(dt) 未格式化
    const newDT = TIME.dataFormat(dt)
    console.log(newDT)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    高级做法
    //1. 导入所需的包 npm i moment(@版本号) 安装多个包 用空格 分隔
    //注意导入的名称,就是装包时候的名称
    const moment = require('moment')
    
    const dt = moment().format('YYYY-MM-DD HH:mm:ss')
    console.log(dt)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    初次装包完成后,在项目文件夹下多一个node_modules的文件夹和package-lock.json的包管理配置文件
    node_modules用来存放所有已安装到项目中的包。require()导入第三方包时,就是从这个目录中查找并加载包。
    package-lock.json用来记录node_modules目录下的每一个包的下载信息eg:包的名字、版本号、下载地址。

    版本号:第1位数字表示大版本(底层重构)、第2位数字表示功能版本、第3位数字表示Bug修复版本


    包管理文件

    • 在项目根目录中,创建一个叫做package.json的配置文件,用来记录项目中安装了那些包。从而方便剔除node_modules目录之后,在团队成员之间共享项目的源代码
    • 在项目开发中,一定要把node_modules文件夹,添加到.gitgnore忽略文件中。
    • package.json文件中,有一个dependences节点,专门用来记录你使用npm install安装了哪些包
    • 一次性安装所有包:运行npm iinstall命令 一次性安装所有的依赖包
    • devDependencies节点:如果某些包只在项目开发阶段会使用,在项目上线后不会用到,则建议把这些包记录到devDependencies 节点中
    • dependencies 节点:某些包在开发和项目上线之后都需要用到,则建议把这些包记录到dependencies
    //安装指定的包,并记录到`devDependencies`节点中
    npm i 包名 -D
    
    • 1
    • 2

    解决包下载慢的问题

    淘宝NPM镜像服务器:淘宝在国内搭建了一个服务器,专门把国外官网服务器上的包同步到国内服务器,然后在国内提供下包服务,从而极大的提高了下包的速度。
    镜像(Mirroring):是一种文件存储形式,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像

    • 下包的镜像源,指的就是下包的服务器地址
    # 查看当前的下包镜像源
    npm config get registry
    # 将下包的镜像源切换为淘宝镜像源
    npm config set regist=https://registry.npm.taobao.org/
    # 检查镜像源是否下载成功
    npm config get registry
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    为了更方便的切换下包的镜像源,我们可以安装nrm这个小工具,利用nrm提供的终端命令,可以快速查看和切换下载包的镜像源。

    # 通过npm包管理器,将nrm 安装为全局可用的工具
    npm i nrm -g
    # 查看所有可用的镜像源
    nrm ls
    # 将下包的镜像源切换为 taobao 镜像
    nrm use taobao
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    Springboot2.7集成websocket及相关问题
    求二叉树的高度(可运行)
    Java集合
    mysql 删除索引 索引长度还在,数据内存 索引内存没有减少
    YOLOPv2开源,目标检测&区域分割,多任务版本
    中国家纺行业市场全面分析及发展趋势调研报告
    算法导论23章最小生成树习题—23.2练习
    CASE2023
    【数据结构】图形结构——图的概念
    Vue2-生命周期
  • 原文地址:https://blog.csdn.net/m0_55825393/article/details/126329910