npm介绍

npm有两种含义 :

第一种: 包管理工具node package manager

第二种:npm网站代码托管平台

  • 1.npm

    • 全称node package manager

    • 官方推出的包管理工具

    • 不需要额外安装,安装node之后自带

    • 因为服务器不在国内,所以有时候安装特别慢,甚至无法成功

  • 2.npmhttps://www.npmjs.com/

    • 类似于gitthub,是一个全球免费的代码托管平台

    • 与github不同点

      • github : 支持任何编程语言,任何平台

      • npmjs : 只为nodejs服务

npm使用流程

初始化、安装、导入使用

  • 1.初始化:在当前nodejs项目中执行终端命名: npm init -y

    • 作用:生成一个pachage.json文件,帮你记录当前项目安装了哪些第三方模块及对应的版本号

  • 2.安装:在当前nodejs项目中执行终端命名: npm install 模块名

    • 安装之后,你的项目目录会新增两个文件node_modulespackage-lock.json

      • node_modules:npm会自动将所有的第三方模块放入这个文件夹中。类似于前端的lib文件夹

      • package-lock.json:npm会自动记录第三方模块的下载地址,下一次安装或更新的时候直接从这个地址下载,速度更快(只是影响以后更新速度,不影响开发)

      • package.json:帮你记录当前项目安装了哪些第三方模块及对应的版本号

  • 3.注意点:

    • (1)使用npm文件夹路径不能有中文

    • (2) 如果网速很慢导致无法安装第三方模块,建议 更改npm镜像源为淘宝服务器

      • npm config set registry https://registry.npm.taobao.org/

      • 查看当前npm得镜像源:npm config list

npm init -y原理

  • 1.作用: 快速初始化包,创建package.json文件

  • 2.package.json文件 : 项目中用到了哪些依赖包,以及包名、版本号

    • 只要你下载了包,这个文件就会记录你下载哪些包,和下载的版

npm i 包名 原理

  • 1.访问npm服务器

  • 2.从npm服务器搜索包

  • 3.搜索到之后,找包的仓库地址

  • 4.下载包到你目录的node_module文件

  • 5.会把包地址放入package.lock.json文件,用于更新提高速度

默认情况下,所有包都会自动下载最新版本.如果想下载指定版本,就可以使用命令

npm i 包名@版本号

npm包三个组成部分详解

  • 1.package.json : 记录项目所有下载过的依赖包及对应的版本号

    • 相当于下载记录

  • 2.node_module : 存放包源文件的目录

    • 相当于下载文件夹

  • 3.package.lock.json : 记录所有的依赖包的下载地址和版本

    • 相当于网页收藏夹

    • 作用: 提高更新包的效率(第一次下载包之后,npm会把每一个包的下载地址存在package.lock.json文件中。 下一次下载的时候,无需从npm搜索,而是直接从上一次地址去下载)

全局包与本地包

  • 1.本地包: npm i 包名

    • 在哪里执行命令,就在哪个文件夹安装

    • 只对这个文件夹生效

  • 2.全局包: npm i 包名 -g

    • 无论在哪里执行命令,都会装到你的C盘根目录

    • 对整个操作系统生效,任何时候都能使用

      • 例如: npm i nodemon -g

  • 3.小经验

    • 本地包一般是用于做项目开发的,主要是导入写代码的

    • 全局包一般是工具类(像vscode插件一样),主要是为你开发提供工具遍历的

      • nodejs里面的nodemon

      • vue里面的vue/cli

开发依赖与生产依赖

  • 1.下载包的时候,有两种选择: 开发依赖 与 生产依赖

    • 默认情况下,我们所有的包都会选择生产依赖

  • 2.什么是开发依赖,什么是生产依赖

    • 开发依赖: 只在开发的时候会用到,到了生产(上线)环境用不上

    • 生产依赖:上线之后也需要使用

  • 3.如何选择生产依赖还是开发依赖

    • 不纠结,一般包的官网会有命令。 你按它的CV就可以了

      • gulp-htmlmin。这个工具是用来把html代码进行压缩的(去掉空格,换行等),我们需要在开发时使用它,而项目一旦上线,我们就不再需要它了。,因此将它归类为"开发依赖"。

      • axios。在开发时参与源码编写,在发布上线的生产环境中也是需要它的。不仅在开发环境编写代码时要依赖它、线上环境也要依赖它,因此将它归类为"生产依赖"。

ES6官方模块化规范

默认导入导出

按需导入导出

const eat = function () {console.log('吃东西')
}
const age = 20//默认导出,只能导出一次
export default {eat,age
}//按需导出: 可以导出多次
export const sex = '男'
export const score = 88
//JS文件//默认导入: 变量名可以自定义
//a: 先执行路径中的js代码 b: 得到JS文件内部的导出对象
import obj from './2.mokuai.js'
console.log(obj)//按需导入: 变量名必须与导出的变量名一致
//自定义按需导入对象名: { 导出变量名 as 导入变量名}
import { sex as a } from './2.mokuai.js'
console.log(a)
import { sex,score } from './2.mokuai.js'
console.log(sex,score)
//JS文件<script src="./1.index.js" type="module"></script>  //html文件
  1. export default可以写多次吗?

    不可以,只能写一次

  2. export defaultexport可以写在同一个文件中吗?

    可以,但是要分开导入。实际开发中不建议同时使用

  3. 导入通过export导出的模块,名字有要求吗?

    1. 有要求,如果是export导出,默认导入变量名要与导出的一致

    2. 如果是export default,则变量名可以随便写

  4. 如果要给export导出的模块起别名,使用哪个关键字?

     as

npm包管理工具与ES6官方模块化规范相关推荐

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

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

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

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

  3. Node.js学习之路--npm包管理工具操作汇总

    因为在学习使用Express(第三方Web开发框架)时需要下载这个包,所以使用npm包管理工具这个相关的操作,现在将其相关的操作进行汇总. npm命令在cmd或者powershell中进行;注意:使用 ...

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

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

  5. npm包管理工具的安装及配置使用

    1.什么是npm npm(Node Package Manager,即:node包管理器)是nodeJS的一个程序包管理和分发的管理工具,npm完全用JavaScript写成,它可以让全世界与Web前 ...

  6. npm 切换源_nrm:npm包管理工具

    一.简介:nrm(npm registry manager )是npm的镜像源管理工具,可以方便的更换npm的包源.可解决问题: 1.更换国内镜像包源(如淘宝npm镜像)解决国内npm国外包慢的问题: ...

  7. Node js npm 包管理工具的基本使用

    初始化一个node项目 npm initnpm init -y 没有 -y 参数表示自定义一些参数 -y 参数表示默认选项 初始化项目之后就会多出一个 package.json 的文件 查找需要的包 ...

  8. 前端入门(二)npm包管理+模块化+bable转码器+webpack打包+vue-element-admin

    一.npm包管理工具 NPM全称Node Package Manager,是Node.js包管理工具,相当于前端的Maven .不需要单独安装,和nodejs一起 在命令提示符输入 npm -v 可查 ...

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

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

最新文章

  1. YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny
  2. VMM虚拟机启动失败故障处理
  3. matplotlib 入门之Image tutorial
  4. 内存和外存的主要区别_内存与外存的关键区别有哪些?
  5. python中global的用法
  6. 理解Java NIO
  7. C#中的序列化和反序列化
  8. elasticsearch启动错误解决
  9. git中使用fork
  10. 【CSS】学习笔记2 字体设置
  11. 清除无用工具栏:CommandbarCleaner下载
  12. EntLib 3.1学习笔记(2) : Data Access Application Block
  13. 关于Java 8 forEach
  14. 【CSON原创】CSS的障眼法:利用border实现图片的翻转
  15. Barcode for Mac(条形码生成器)
  16. linux 查看fd命令,Linux中一种友好的find替代工具(fd命令)
  17. python操作office word模板
  18. CTF之做题总结(五)
  19. 关于三栏式布局的几种方式
  20. python增加一列数据_使用Python向DataFrame中指定位置添加一列或多列的方法

热门文章

  1. windows 安装docker使用教程
  2. GoldenDict中能用的在线翻译源
  3. android m3u8离线播放器,android上实现离线缓存播放加密HLS视频和未加密的HLS视频...
  4. html5音乐播放器格式midi,HTML5 Audio時代的MIDI音樂文件播放
  5. 如何在项目中引用字体包
  6. 计算机pc的桌面操作系统,电脑桌面操作系统介绍
  7. 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事
  8. stm32h7 串口idle_【STM32H7教程】第29章 STM32H7的USART串口基础知识和HAL库API
  9. 浙江省c语言二级的笔试真题及答案,浙江省高等学校C语言二级----笔试部分真题2007-2010年.doc...
  10. [附源码]计算机毕业设计游戏论坛网站Springboot程序