当前位置: 首页 > news >正文

npm 常用指令总结

1. 初始化包

一个存放了代码的文件夹,如果里面有 package.json 文件,则可以把这个文件夹称之为包。

npm init -y

注意: 由于包名不能有中文,不能有大写,不能和未来要下载的包重名. 所以我们快速初始化包时,我们的文件夹也不能违反前面说的规则.(因为默认会将文件夹的名称,作为包名)

2.安装包

2.1包的分类:
  •  本地包(当前项目要使用的包,一般都是一些 js 库或框架.下载时命令行窗口的路径一定得是当前项目的根目录)
    •  开发环境的包
    •  生产环境的包
  •  全局包(所有项目都可以用,一般是工具)
     `npm i 包名 --global` 或 `npm i 包名 -g`

    就是把某个第三方包下载到当前项目中,安装到当前项目的包又分两种:

  1.  项目包(生产环境包)
  2. 开发包(开发环境包)

项目包和开发包的区别: 项目包最终上线也要使用,开发包只在开发时使用,项目上线不使用

  • 将包记录在 dependencies 中 :
     `npm install 包名` 或 `npm i 包名`或`npm i --save 包名`
  • 将包记录在 devDependencies 中:
    `npm i --save-dev 包名` 或 `npm i 包名 -D`
  • 下载指定版本的包:
    npm i 包名@版本号
  • 下载所有依赖包:

    `npm install` 或 `npm i`

npm 会先去找 package-lock.json,根据里面记录的信息下载所有的依赖包,如果没有 package-lock.json,会根据 package.json 记录的信息,下载所有依赖包. package-lock.json 中记录的包的信息更详细,有下载地址,所以根据 package-lock.json 下载比 package.json 更快

  • 同时下载多个包:
    npm i 包名1 包名2@版本 ...

    描述:当执行了这个安装包的指令,并将包安装完毕之后. 项目中会增加一个 node_modules 文件夹,这里存放了我们下载的包以及这个包依赖的包,也增加了一个 package-lock.json.这里记录了 node_modules 里面所有包的名字,版本号和下载地址.

2.2 package-lock.json 和 package.json 的区别:
  • package.json 只简单记录我们依赖的哪些第三方的包, 并包含包名和版本号
  • package-lock.json 不光记录了我们依赖的第三方包,还记录了我们下载的第三方包依赖的其他包信息,不仅有包名和版本号,还有下载地址

3. 查看包

  • 查看全局包
npm ls -g

不关心执行这个指令的路径

  • 查看指定项目的本地包 
npm ls

执行这个指令的路径必须是指定项目的根目录

4. 更新包

npm update 包名

   注意: 更新包指令执行完毕之后,package.json 中的版本信息不会发生变化.可以在 package-lock.json 中查看到.但是不推荐这个这个指令.如果真的需要更新包的版本则直接重新下载覆盖即可

5. 删除包

npm uninstall 包名

6. 清缓存

 npm cache clean --force

7. 增加 npm 自定义指令

   在当前项目的 package.json 中的 scripts 里面定义. 注意: 也只对当前项目生效

     "scripts": {"xxx": "node index.js","start":"node index.js"},

   指令过长时,可以运行: `npm run xxx`精简指令,等同于执行`node index.js` , start 比较特殊可以不加 run ,输入`npm start`即可运行。

http://www.lryc.cn/news/192683.html

相关文章:

  • 布朗大学发现GPT-4存在新问题,可通过非常见语言绕过限制
  • ESP32网络编程-TCP客户端数据传输
  • 微信小程序入门级
  • 博客文档续更(二)
  • Centos切换yum源
  • milvus和相似度检索
  • 龙迅LT7911UXC 是一款高性能TYPE-C/DP/EDP转换四端口MIPI/LVDS的芯片,还支持图像处理
  • TOR(Top of Rack)
  • 使用asp.net core web api创建web后台,并连接和使用Sql Server数据库
  • LaTeX 公式与表格绘制技巧
  • Spring Cloud--Nacos+@RefreshScope实现配置的动态更新
  • Elasticsearch安装
  • 【JavaSE API 】生成随机数的2种方法:Random类和Math类的Random方法
  • 微软和OpenAI正在开发AI芯片, 并计划下个月发布
  • 记一次Hbase2.1.x历史数据数据迁移方案
  • luajit简介
  • 1.2 switch实现两个数的四则运算
  • mysql面试题47:MySQL中Innodb的事务实现原理
  • Google云平台构建数据ETL任务的最佳实践
  • 【更新】囚生CYの备忘录(202331014~)
  • 《UnityShader入门精要》学习4
  • kaggle新赛:写作质量预测大赛【数据挖掘】
  • 导入导出Excel
  • C# Thread.Sleep(0)有什么用?
  • 二十四、【参考素描三大面和五大调】
  • 【Python 千题 —— 基础篇】进制转换:十进制转二进制
  • [ spring boot入门 ] java: 错误: 无效的源发行版:17
  • 【计算机组成体系结构】电路基本原理与加法器设计
  • MyBatisPlus之基本CRUD、常用注解
  • 采集EtherNET/IP转Profinet在西门子plc中的应用