node.js|node.js的模块化


node.js的模块化

        • 模块化的概念
        • node.js的三种模块

模块化的概念
  1. 什么是模块化??
  • 一个js文件中可以引入另一个js文件的数据。
  1. 为什么要用模块化
  • 防止全局变量污染,文件依赖问问题,可提高代码的复用性
  1. 模块规范
  • CommonJS 规范:nodejs中遵守的就是commonjs规范。
  • ES6 模块化规范:(前后端通用的模块化规范;Node.js、Vue、
    React 中都能使用!)
    CMD 和 AMD 模块化规范(较少使用): CMD–sea.js, AMD-require.js
    UMD 叫做通用模块定义规范(Universal Module Definition),它可以通过运行时或者编译时让同一个代码模块在使用 CommonJs、CMD 甚至是 AMD 的项目中运行。它没有自己专有的规范,是集结了 CommonJs、CMD、AMD 的规范于一身。
node.js的三种模块
  1. 内置模块(由官方提供,例如 fs,path,http)
const fs = require('fs') const path = require('path') //可以直接使用

  1. 自定义模块(用户自定义,一个js文件中引入另外一个js文件)
//向多模块共享作用域中的成员 //方法一 module.exports.name = 'zhangsan' //方法二 exports.name = 'lisi'

//导入使用require()方法加载模块时,会执行被加载模块中的代码 const moment = require('./XXX/XX')//此处输入需要引入的js的路径 const dt = moment().format('YYYY-MM-DD HH:mm:ss')

  1. 第三方模块(也就是包,需要先下载)
  • npm包:第三方模块(都是免费开源的,是基于内置模块封装出来的)
    在安装node.js的时候已经安装了npm包,所以可以直接在命令行中输入npm -v可以查看安装的npm版本
    语义化版本规范: 例如 2.24.1
    第一位数字:大版本
    第二位数字:功能版本
    第三为数字:Bug修复版本
//安装包的命令(前一种是简写) npm i 包名称//npm install 包名称 //安装指定版本的包 npm i 包名称@版本号

  • 如何在项目中记录安装了哪些包?
因为node-module文件特别大,为了减少传输时间提高效率,将其添加到.gitignore文件中(忽略)
快速创建package.json
npm init -y
其中dependencies节点专门用来记录安装了哪些包
  1. 安装包
npm i //一次性安装所有的包
npm i 包1 包2 //安装多个包 包与包之间用空格隔开
  1. 卸载包
【node.js|node.js的模块化】npm uninstall 包名
写在成功的包会自动将package.json里面dependencies里面移除
  1. 某些包只会在开发项目的阶段用到,项目上线后用不到,则记录到devDependencies里面
npm i webpack -D npm i webpack --save-dev

  1. 查看当前下的包的镜像源
npm config get registry

  1. 将当前包的镜像源切换为淘宝镜像源
npm config set registry=https://registry.npm.taobao.org/

  1. 检查镜像源是否下载成功
npm config get registry

  1. 安装nrm小工具,用插件安装镜像源,可解决下载包速度慢的问题
npm i nrm -g//全局可用

  1. 查看
nrm ls

  1. 切换为淘宝镜像源
nrm use taobao

    推荐阅读