首页 > 编程语言 >node.js--npm初始

node.js--npm初始

时间:2023-12-12 10:49:34浏览次数:39  
标签:node npm -- 包名 js nvm 安装

npm 安装

安装node.js 时候会自动安装npm ,所以如果安装了node.js 就不需要安装npm了,

命令行使用命令 npm -v 查看npm版本,出现版本号,则表示安装成功。

npm 初始化包

使用 npm init 命令创建一个 package.json 文件,然后使用 npm install 命令安装依赖。

如果使用命令 npm init -y 则可以跳过询问步骤,直接生成一个默认的 package.json 文件。但是记得文件夹名字一定不要包含中文和大写字母。

package.json 文件是包的配置文件,用于描述该包的信息,如名称、版本、作者、依赖等。
不可以使用中文和大写,否则会报错。文件夹的名字也最好不是中文的
版本号不可以使用字母,只可以是数字

搜索包去访问:https://www.npmjs.com/
可以在里面搜索各种工具包,然后使用,比如:轮播图工具包,就去搜轮播图

npm下载安装包

确保是联网状态,使用命令:

npm i 包名 

npm inpm install 的简写,安装包的时候,会自动安装到 node_modules 文件夹中,
package-look.json 包的锁定文件,用来锁定包的版本号,保证多人开发的时候,不会出现版本不一致的问题
安装包的时候,可以指定版本号,比如:

npm i 包名@版本号

这样安装的包,就一定是这个

安装好包以后,就可以在项目中使用了,使用方法:大多数使用 require 方法,比如:

const 包名 = require('包名') 

require 其实找的就是 node_modules/包名/包名.js 文件
如果 node_modules 包下面没有这个文件,就会去上级目录文件下找对应的 node_modules 包,直到找到磁盘根目录为止,如果还是没找到,就会报错

npm 全局安装

npm install -g 包名

比如:

npm i -g nodemon

nodemon 这个包的作用是,每次启动 node.js 文件时候,不使用 node 文件名 这样启动,
使用 nodemon 文件名 这样启动,可以监控文件的变化,自动重启

并不是所有的工具包都适合全局安装,比如:轮播图工具包,就不适合全局安装,因为轮播图工具包,是放在页面中使用的,不是放在服务器

注意:

如果安装了 nodemon 包以后无法在 VS Code 的终端窗口使用,需要操作:
按电脑上 win 键,输入 powershell 以管理员身份打开 PowerShell

解决这个问题只需执行命令:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

然后就可以在 VS Code 的终端窗口使用 nodemon 了

全局安装的包,安装位置可以通过 npm root -g 命令查看

npm安装包所有依赖

使用 npm i 即可,不用携带任何参数,安装所有依赖。

npm 卸载包

npm uninstall 包名

npm 删除包

npm r 包名  或者 npm remove 包名

开发与生产的依赖

类型 命令 说明
生产依赖 npm i -S 包名 -S等于--save,-S是默认选项,包信息保存在package.json 中dependencies 属性
开发依赖 npm i -D 包名 -D等于--save-dev,包信息保存在package.json 的devDependencies 属性

设置命令别名

在package.json 文件中,找到scripts字段,添加如下代码:

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "server": "node ./test.js",
    "start": "node ./test.js",
  },

配置完以后,比如执行 npm run server,就会去 package.json 文件中找相同命令的指令,然后执行 test.js 文件。
npm run 命令有自动向上找的特性,和 require 函数一样

start 的命令别名有点不太一样,可以忽略 run ,直接 npm start 执行。

cnpm

cnpm 是淘宝构建的npmjs.com 的镜像,使用cnpm命令可以快速安装npm上的包。

可以通过 npm 安装 cnpm

npm install -g cnpm --registry=https://registry.npmmirror.com

cnpm 和 npm 使用基本一模一样

配置淘宝镜像

方式一:直接配置

npm config set registry https://registry.npmmirror.com

方式二:工具配置 nrm

安装 nrm:npm i -g nrm

修改镜像:nrm use taobao

检测是否成功:npm config list

发布一个包

npm i 初始化,然后会有一个package.json文件,里面的配置里有个 main 配置项,注意文件名和类属性保持一致
https://www.npmjs.com/signup 注册账号,一定要激活账号,中间会给邮箱发送验证码

命令行执行 nrm use npm 修改为官方的镜像

npm login 登录账号,中间会给邮箱发送验证码

npm publish 发布

更新发布的包

  1. 编写完代码
  2. 测试好代码
  3. 修改package.json 版本号,在version 配置项
  4. 执行 npm publish 发布更新

删除发布的包

npm unpublish 包名 --force

nvm 介绍和使用

nvm 全称 node version manager,node版本管理工具,可以管理多个node版本,并且可以切换不同版本

下载安装
https://github.com/coreybutler/nvm-windows/releases 下载
下载 nvm-setup.exe 安装

命令 说明
nvm list available 查看所有可安装的node版本
nvm install 版本号 安装指定版本的node,如:nvm install 14.16.0 安装14.16.0版本的node.js
nvm install latest 安装最新版本的node
nvm use 版本号 切换到指定版本的node,如:nvm use 14.16.0 切换到14.16.0版本的node.js
nvm list 查看已安装的node版本
nvm uninstall 版本号 卸载指定版本的node,如:nvm uninstall 14.16.0 卸载14.16.0版本的node.js
nvm current 查看当前使用的node版本
nvm alias 别名 版本号 给指定版本的node起别名

标签:node,npm,--,包名,js,nvm,安装
From: https://www.cnblogs.com/abiu/p/17896235.html

相关文章

  • 开源的linux可视化管理项目-1panel面板
    推荐一款开源的linux可视化管理项目,运维效率翻倍原创 小羊架构 小羊架构 2023-12-0316:19 发表于广东收录于合集#linux3个#开源5个#编程9个#IT16个#互联网17个  你好呀,我是小羊。linux是个非常好的开源操作系统,功能强大,使用也非常广泛,唯一的缺点就是上手有点难......
  • 在当前的Linux上并安装字体(这里以安装中文字体为例)
    一、如果你想手动上传并安装中文字体,可以按照以下步骤进行:1.下载中文字体文件。你可以在网上找到许多免费的中文字体,例如文泉驿正黑字体。请确保你下载的字体文件是合法和可信的。 我本地提前准备好了,都是TrueType类型中文字体,具体如下(仿宋、宋体、黑体等): 2.将字体文件......
  • macOS Monterey 12.7.2 (21G1974) 正式版发布,ISO、IPSW、PKG 下载
    macOSMonterey12.7.2(21G1974)正式版发布,ISO、IPSW、PKG下载本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。macOSMonterey12.7.x如无特殊说明,......
  • CentOS安装Docker
    官方文档:https://docs.docker.com/engine/install/centos/确定是CentOS7及以上版本卸载旧版本yumremovedocker\ docker-client\ docker-client-latest\ docker-common\ docker-latest\ docker-latest-logrotate\ docker-logrotate\ docker-engineyum安......
  • 设计模式—单例模式
    本文是关于设计模式中单例模式的Java代码实现详解懒汉式publicfinalclassSingleton{privatestaticSingletoninstance;publicStringvalue;privateSingleton(Stringvalue){this.value=value;}publicstaticSingletongetIns......
  • 任务冻结 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/power/freezing-of-tasks.html任务冻结什么是任务冻结?任务冻结是一种机制,通过该机制可以在休眠或系统范围挂起(在某些架构上)期间控制用户空间进程和一些内核线程。它是如何工作的?任务冻结使用三个任务级标志,即PF_NOFREEZE、PF_FROZEN......
  • SemaphoreSlim
      以下示例创建一个信号量,其最大计数为三个线程,初始计数为零个线程。该示例启动了5个任务,所有这些任务都阻塞等待信号量。主线程调用 Release(Int32) 重载以将信号量计数增加到最大值,这允许三个任务进入信号量。每次释放信号量时,都会显示之前的信号量计数。控制台消息跟踪信......
  • 火星探测器背后的人工智能:从原理到实战的强化学习
    本文详细探讨了强化学习在火星探测器任务中的应用。从基础概念到模型设计,再到实战代码演示,我们深入分析了任务需求、环境模型构建及算法实现,提供了一个全面的强化学习案例解析,旨在推动人工智能技术在太空探索中的应用。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务......
  • S7-1511C-1 主要功能介绍
    https://mall.industry.siemens.com/mall/en/WW/Catalog/Products/10268309?activeTab=productinformation&regionUrl=WW CPU1511C-1PNOrderingdataAccessoriesProductInformationConfiguratorsJumptoOverviewApplicationDesignFunctionTechnicalspecification......
  • macOS Ventura 13.6.3 (22G436) 正式版发布,ISO、IPSW、PKG 下载
    macOSVentura13.6.3(22G436)正式版发布,ISO、IPSW、PKG下载macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。请访问原文链接:https://sysin.org/blog/macOS-Ventura/,查看最新版。原创作品,转载请保留出处。台前调度等新功能帮助Mac用户保持专注、提高生......