首页 > 编程语言 >6.零基础Nodejs快速入门——包管理工具

6.零基础Nodejs快速入门——包管理工具

时间:2024-03-19 23:58:05浏览次数:42  
标签:npm 入门 cnpm Nodejs package 管理工具 yarn 安装

包管理工具

一、概念介绍

1.1 包是什么

『包』英文单词是 package ,代表了一组特定功能的源码集合

1.2 包管理工具

管理『包』的应用软件,可以对「包」进行 下载安装 , 更新 , 删除 , 上传 等操作 借助包管理工具,可以快速开发项目,提升开发效率 包管理工具是一个通用的概念,很多编程语言都有包管理工具,所以 掌握好包管理工具非常重要

1.3 常用的包管理工具

下面列举了前端常用的包管理工具 npm yarn cnpm

二、npm

npm 全称 Node Package Manager ,翻译为中文意思是『 Node 的包管理工具』 npm 是 node.js 官方内置的包管理工具,是 必须要掌握住的工具 2.1 npm 的安装 node.js 在安装时会 自动安装 npm ,所以如果你已经安装了 node.js ,可以直接使用 npm 可以通过 npm - v 查看版本号测试,如果显示版本号说明安装成功,反之安装失败 查看版本时可能与上图版本号不一样,不过不影响正常使用

2.2 npm 基本使用

2.2.1 初始化
创建一个空目录,然后以此目录作为工作目录 启动命令行工具 ,执行 npm init npm init 命令的作用是将文件夹初始化为一个『包』, 交互式创建 package.json 文件 package.json 是包的配置文件,每个包都必须要有 package.json package.json 内容示例: 属性翻译 初始化的过程中还有一些注意事项: 1. package name ( 包名 ) 不能使用中文、大写,默认值是 文件夹的名称 ,所以文件夹名称也不 能使用中文和大写 2. version ( 版本号 ) 要求 x.x.x 的形式定义, x 必须是数字,默认值是 1.0.0 3. ISC 证书与 MIT 证书功能上是相同的,关于开源证书扩展阅读 http://www.ruanyifeng.com/bl og/2011/05/how_to_choose_free_software_licenses.html 4. package.json 可以手动创建与修改 5. 使用 npm init - y 或者 npm init -- yes 极速创建 package.json
2.2.2 搜索包
搜索包的方式有两种 1. 命令行 『 npm s/search 关键字』 2. 网站搜索 网址是 https://www.npmjs.com/ 经常有同学问,『我怎样才能精准找到我需要的包?』 这个事儿需要大家在实践中不断的积累,通过看文章,看项目去学习去积累
2.2.3 下载安装包
我们可以通过 npm install 和 npm i 命令安装包 { "name" : "01_npm" , "version" : "1.0.0" , "description" : "" , "main" : "index.js" , "scripts" : { "test" : "echo \"Error: no test specified\" && exit 1" }, "author" : "" , "license" : "ISC" } { "name": "1-npm", # 包的名字 "version": "1.0.0", # 包的版本 "description": "", # 包的描述 "main": "index.js", # 包的入口文件 "scripts": { # 脚本配置 "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", # 作者 "license": "ISC" # 开源证书 } 类型 命令 补充 生产依赖 npm i -S uniq npm i --save uniq -S 等效于 --save , - S 是默认选项 包信息保存在 package.json 中 dependencies 属性 开发依赖 npm i -D less npm i --save-dev less -D 等效于 --save-dev 包信息保存在 package.json 中 devDependencies 属性 运行之后文件夹下会增加两个资源 node_modules 文件夹 存放下载的包 package - lock.json 包的锁文件 ,用来锁定包的版本 安装 uniq 之后, uniq 就是当前这个包的一个 依赖包 ,有时会简称为 依赖 比如我们创建一个包名字为 A , A 中安装了包名字是 B ,我们就说 B 是 A 的一个依赖包 ,也会说 A 依赖 B
2.2.4 require 导入 npm 包基本流程
1. 在当前文件夹下 node_modules 中寻找同名的文件夹 2. 在上级目录中下的 node_modules 中寻找同名的文件夹,直至找到磁盘根目录

2.3 生产环境与开发环境

开发环境是程序员 专门用来写代码 的环境,一般是指程序员的电脑,开发环境的项目一般 只能程序员自 己访问 生产环境是项目 代码正式运行 的环境,一般是指正式的服务器电脑,生产环境的项目一般 每个客户都可 以访问

2.4 生产依赖与开发依赖

我们可以在安装时设置选项来区分 依赖的类型 ,目前分为两类: 举个例子方便大家理解,比如说做蛋炒饭需要 大米 , 油 , 葱 , 鸡蛋 , 锅 , 煤气 , 铲子 等 其中 锅 , 煤气 , 铲子 属于开发依赖,只在制作阶段使用 而 大米 , 油 , 葱 , 鸡蛋 属于生产依赖,在制作与最终食用都会用到 所以 开发依赖 是只在开发阶段使用的依赖包,而 生产依赖 是开发阶段和最终上线运行阶段都用到 的依赖包 # 格式 npm install < 包名 > npm i < 包名 > # 示例 npm install uniq npm i uniq

2.5 全局安装

我们可以执行安装选项 - g 进行全局安装 全局安装完成之后就可以在命令行的任何位置运行 nodemon 命令 该命令的作用是 自动重启 node 应用程序 说明: 全局安装的命令不受工作目录位置影响 可以通过 npm root - g 可以查看全局安装包的位置 不是所有的包都适合全局安装 , 只有全局类的工具才适合,可以通过 查看包的官方文档来确定 安装方式 ,这里先不必太纠结
2.5.1 修改 windows 执行策略
windows 默认不允许 npm 全局命令执行脚本文件,所以需要修改执行策略 1. 以 管理员身份 打开 powershell 命令行 2. 键入命令 set - ExecutionPolicy remoteSigned 3. 键入 A 然后敲回车

标签:npm,入门,cnpm,Nodejs,package,管理工具,yarn,安装
From: https://blog.csdn.net/qq_37002374/article/details/136838769

相关文章

  • 人工智能(1)--入门
    AI入门前言一、人工智能简介二、计算机视觉前言随着人工智能的不断发展,很多人都开启了学习人工智能的入门学习,本文就介绍一下AI的入门相关内容。一、人工智能简介    人工智能是通过机器来模拟人类认知能力的技术。在实际应用中,人工智能最核心的能力......
  • 【ARM 嵌入式 C 入门及渐进11 -- 确保数据写入寄存器】
    文章目录背景1.内存障碍2.对齐访问3.缓存一致性4.写缓冲区背景在ARM架构中,要确保通过write函数写入的数据真正地被写入到寄存器中,需要考虑几个方面:内存障碍(MemoryBarrier):使用内存障碍指令来确保之前的所有内存操作完成后再执行后续的指令。对齐访问:确保......
  • Python从入门到精通秘籍八
    一、Python中函数的多返回值在Python中,函数可以返回多个值。这种特性可以通过将多个变量包装在一个元组或列表中来实现。下面是一个示例代码:defmultiple_returns():a=1b=2c=3returna,b,cresult=multiple_returns()print(result)#输出:(......
  • 【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本 npm报错
    CentOS7环境下安装Nvm,在执行nvmuse18.17.0后执行node-v爆出如下错误 bash复制代码node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so......
  • 项目管理工具JIRA--使用方法
    1.1项目(缺陷)管理工具禅道(ZenTao)、Mantis、BugFree、Bugzilla、QualityCenter、jira(鸡爪子)、Redmine、Effevo(搜狗)1.2功能自动化工具QTP:QuickTestProfessionalSelenium(Java、Python)1.3性能自动化工具LR:LoadRunnerJMeter1.4白盒工具Junit、JTest、C++TestJIRA是......
  • 010_帆软入门
    目录设计器安装FineReport界面介绍普通报表入门示例新建数据连接新建报表准备数据报表设计标题设计表格数据计算总销量设置父子格设置单元格样式效果预览参数查询入门示例图表设计入门示例填报功能入门示例决策系统挂载报表App快速预览单张模板HTML5端快速访问单张模板第一张普......
  • Java基础入门
    1.Java概述1.1Java语言背景介绍语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(StanfordUniversityNetwork)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(JamesGosling)2009年,Sun公司被甲骨文公司收购,所......
  • 中文编程入门(Lua5.4.6中文版)第九章 Lua 迭代器 参考种田游戏
    迭代器(iterator)在游戏开发中扮演着重要角色,尤其是在Lua语言中。它是一种特殊的数据结构,能够逐个访问集合中的元素,犹如一位探险家穿越种田游戏的领土,逐一揭示各个城市与资源。在Lua中,迭代器以一种强大的机制实现,它可以跟踪并遍历表或其他集合类型的每一个项目。其中,泛型for循环......
  • CentOS 7 安装 DNF 包管理工具和 Podman
    安装软件包:bashdnfinstall<package_name>用于安装指定的软件包。更新软件包:bashdnfupdate用于更新系统中已安装的所有软件包到最新版本。搜索软件包:bashdnfsearch<keyword>用于搜索具有指定关键字的软件包。移除软件包:bashdnfremove<package_name>......
  • MongoDB 入门篇
    原文链接: https://www.cnblogs.com/clsn/p/8214194.html1.1数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统1.1.1什么是数据?数据(英语:data),是指未经过处理的原始记录。一般而言,数据缺乏组织及分类,无法明确的表达事物代表的意义,它可能是......