模块和包管理工具npm

  • 什么是模块化
  • 模块化的优点
  • 模块化规范
  • nodejs中模块的分类
  • 加载模块用require方法
  • 模块作用域
  • 向外共享模块作用域中的成员
  • require()模块时,得到的永远是module.exports指向的对象
  • 包(npm管理工具
  • 包的语义化版本规范
  • 记录项目中安装的包
  • 读取所有包
  • 卸载包
  • 包的记录节点
  • 下包速度慢怎么办
  • 包的分类
  • 开发自己的包的流程:
  • 删除自己发布的包
  • 模块加载机制

什么是模块化

解决一个复杂问题时,自顶向下把系统划分为若干模块的过程

模块化的优点

提高代码复用性
提高代码可维护性
可以实现按需加载

模块化规范

代码进行模块化的拆分和组成时,需要遵守的原则
CommonJS模块规范-----nodejs

nodejs中模块的分类

内置模块(官方提供 http path fs)
自定义模块(用户创建的每个js文件)
第三方模块 (由第三方开发的)

加载模块用require方法

模块作用域

在各个模块之间,模块内定义的变量无法跨模块使用,防止了全局变量污染的问题

向外共享模块作用域中的成员

exports和module.exports指向的是同一个对象
不建议两者一起使用,容易造成混乱

require()模块时,得到的永远是module.exports指向的对象

包(npm管理工具

nodejs的第三方模块
提高开发效率
共享平台:npm网站和服务器(https://registry.npmjs.org)
安装命令:npm i (包名)@(版本号)
(如果遇到找不到node_modules文件夹,则需在项目目录下手动建一个)

包的语义化版本规范

点分十进制
大版本.功能版本.bug修复版本

记录项目中安装的包

Package.json(npm init -y)要求英文目录无空格
在剔除node_module时,能够找到安装的包

读取所有包

Npm I

卸载包

Npm uninstall (包名)

包的记录节点

devDependencies  在项目开发中用到,上线后用不到的包(npm i (包名) -D)
Dependencies  在开发和上线后都用到

下包速度慢怎么办

由于海底光缆 从国外服务器下载慢
淘宝npm镜像服务器
方法一:1 查看当前下包镜像源Npm config get registry2 切换npm config set registry=https://registry.npm.taobao.org/
方法二:利用nrm工具1 全局安装 npm i nrm -g2 查看所有可用镜像源 nrm ls3 切换  nrm use (源)

包的分类

全局包(-g)目录:C:\Users\zsjzsj\AppData\Roaming\npm\node_modules工具性质的包、官方参考说明,决定是否全局安装I5ting_toc包可以把md文档转为html
项目包开发依赖包核心依赖包

开发自己的包的流程:

1 初始化包结构
2 填充json文件的基本信息
3 写自己的index.html
4 在外部引用文件夹或index文件供测试
5 在官网注册一个npm账号
6 (官方服务器下)在终端登录  npm login
7 切换到包根目录,发布 npm publish

删除自己发布的包

72h内,可删除:
Npm unpublish (包名) --force
删除后,24小时内不允许重复发布

模块加载机制

优先从缓存加载,提高加载效率
多次引入模块,只会运行一次
内置模块的优先级最高
有路径标识符,就是加载自定义模块
扩展名加载顺序:已有文件名,js,json,node ,加载失败程序报错
第三方模块加载顺序:逐层向上寻找node_modules/tool
Require(目录)的情况:有package.json文件:找json中的main键值文件,加载无json文件:加载index.html

模块和包管理工具npm相关推荐

  1. node包管理工具npm的更多用法

    node的包管理工具npm node现在的火热程度一点都没有下降,而成为了前端必备工具,特别是npm的包库已经成为了前端必备的,即使你不接触node作为后端的存在,现在各种第三方包依然需要使用npm来 ...

  2. 说说包管理工具 NPM 的基本用法

    NPM 是随同 NodeJS 一起安装的包管理工具,可以解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种: 允许我们从 NPM 服务器下载第三方编写的包到本地使用. 允许我们从 NP ...

  3. Nodejs入门 (四) 包管理工具(npm、cnpm、yarn、nvm)

    目录 一.什么是包管理工具? 二.npm的使用 1.初始化 2.搜索包 3.下载安装包 4.安装包的使用 5.全局安装 6.安装包依赖 7.安装指定版本的包 8.删除依赖 9.配置命令别名 10.np ...

  4. 前端工程化-包管理工具npm-yarn-cnpm-pnpm详细介绍以及如何选择

    文章目录 包管理工具详解 npm包管理工具 1.代码共享的方案 2.npm包管理工具介绍 3.npm的配置文件 常见配置文件 常见配置文件属性 版本号的说明 4.npm install npm ins ...

  5. npm nodejs包管理工具 简介

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  6. NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略

    NPM:nodejs官方包管理工具的简介.安装.使用方法之详细攻略 目录 NPM之nodejs官方包管理工具的简介 NPM之nodejs官方包管理工具的安装 NPM之nodejs官方包管理工具的使用方 ...

  7. Vue3学习笔记- NPM包管理工具

    导语   这篇分享是关于Vue3 系列的学习知识的整理的开始,能够对大家学习带来帮助.也是对自己能力的一种提升. 学习大纲 认识NPM 安装NPM 使用NPM NPM中级用法 了解package.js ...

  8. (18) Node.js npm包管理工具

    一.npm概述 npm (Node Package Manager)是 Node.js 的包管理工具. 什么是包?包就是一坨代码,就是 Node.js 的第三方模块. 例如:JQuery模块,Boot ...

  9. node.js中npm包管理工具

    现在安装node.js,默认就会帮我们装上了npm包管理工具,npm主要用来下载,安装,管理第三方模块. 创建一个包描述文件: npm init [-y] 查看包的信息 npm info <pa ...

最新文章

  1. 华菱重卡仪表指示说明_重卡档位多,换挡不利索,选个自动档的车它不香吗?...
  2. 决战春招!算法工程师面试问题及资料超详细合集(算法岗面经/代码实战/网课/竞赛等)...
  3. [Mechine Learning Algorithm] 集成学习方法——Bagging和 Boosting
  4. c#中base64加密解密
  5. Scrum:The Definition of Done —— 作业有没有写完呢?
  6. python整理表格数据_python --整理数据结构(列表)
  7. 「企业架构」什么是TOGAF?完整的介绍
  8. 《统计学习理论的本质》
  9. 软件体系结构期末复习总结
  10. Swift - URL转码解码
  11. python父亲节祝福_关于父亲节的祝福语大全(27句),暖心的句子
  12. 文明与征服北条时宗最强阵容搭配指南
  13. ActiveMQ实现削峰填谷
  14. Bypass-分流抢票
  15. 测试分析与测试用例设计方法
  16. 为JY61加入OLED显示系统
  17. 【来龙去脉系列】什么是区块链?
  18. 微信支付的软件架构也太特么牛逼了吧...
  19. 深度学习实战案例:电影评论二分类
  20. OpenWrt各大软件源地址

热门文章

  1. java语言程序设计郑莉课后答案_Java语言程序设计郑莉课后习题答案.pdf
  2. Lawliet|Python学习笔记——random库
  3. 大佬评清华Jittor,这是怎样一个深度学习框架?
  4. 在冥冥中那些昵称是见识到
  5. 在线考试系统(3)——学生登录实现
  6. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取
  7. ApiOne URL 调用说明
  8. 著名的假设“缸中之脑”,我们怎么确定自己不是活在电脑程序中?
  9. 树莓派4B:使用raspi-config实现USB BOOT
  10. 视觉SLAM⑨后端Ⅰ(KF、EKF、非线性优化)