当前位置:网站首页 > Node.js开发 > 正文

安装node js(安装nodejs成功,但是json-server -v报错)



(1)概念

官网解释:Node.js是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。

简单来说:node.js就是前端的后端,可以当Web 服务器,但更倾向处理业务逻辑。

具体的说:

Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js 是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

(2)特性

Node.js可以解析JS代码(没有浏览器安全级别的限制,可以跨域请求)提供很多系统界别的API。

文件的读写(fs)
进程的管理(process)
网络通信(http/https)

另:



不能跨域浏览器报的错:

在这里插入图片描述
node.js的回调函数有一个特点:错误优先回调,也就是第一个参数是err,第二个参数才是数据data

使用node命令可以直接执行js文件,原来如果要执行js文件必须要依赖浏览器,即将js文件引入html文件,再去浏览器上访问html页面js才被执行。而现在有了node给js提供运行环境只需要在命令终端输入:node js文件命令即可执行该js文件。

(1)NVM(node version management )

nvm:是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。下面列出下载、安装及使用方法。

Mac安装
https://github.com/nvm-sh/nvm/blob/master/README.md

Windows安装
nvm-windows
nodist

安装/管理nodejs
查看本地安装的所有版本,有可选参数available,显示所有可下载的版本:

 
  

安装,命令中的版本号可自定义,具体参考命令1查询出来的列表:

 
  

使用特定版本:(只针对于当前终端生效)

 
  

修改默认版本:(对于所有终端生效 )

 
  

卸载:

 
  

命令提示
nvm arch :显示node是运行在32位还是64位。

nvm install [arch] :安装node, version是特定版本也可以是最新稳定版本latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加–insecure绕过远程服务器的SSL。

nvm list [available] :显示已安装的列表。可选参数available,显示可安装的所有版本。list可简化为ls。

nvm on :开启node.js版本管理。

nvm off :关闭node.js版本管理。

nvm proxy [url] :设置下载代理。不加可选参数url,显示当前代理。将url设置为none则移除代理。

nvm node_mirror [url] :设置node镜像。默认是https://nodejs.org/dist/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作

nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/。如果不写url,则使用默认url。设置后可至安装目录settings.txt文件查看,也可直接在该文件操作。

nvm uninstall :卸载指定版本node。

nvm use [version] [arch] :使用制定版本node。可指定32/64位。

nvm root [path] :设置存储不同版本node的目录。如果未设置,默认使用当前目录。

nvm version :显示nvm版本。version可简化为v。

(2)NPM(node package management )

1–全局安装/卸载依赖包
 
  

Windows: C:퇬用户名AppDataRomaing pm ode_modules

2–本地(局部)安装依赖包
 
  

简写:

 
  

非常常用的第三方工具包lodash、underscore
项目中的package.json是对项目或者模块包的描述,里面包含许多元信息。
npm init [-y] //生成package.json文件,-y的意思就是一切都yes。

3–查看项目中已安装的包

npm list 查看项目中所有包名称和版本号,以及包与包之间的层级关系
npm list | grep pkgName 查看指定包的版本号,以及和该包相关层级关系
npm view pkgName versions 查询指定package包的所有版本
npm info pkgName 查询指定依赖包的详细信息
pkgName -v 查询指定包的版本号



4–更新项目中已安装的包
5–关于版本号

例:^13.4.6/~13.4.6 /13.4.6 /*
---- major(主版本号):13,minor(次版本号):4,patch(补丁号):6
注:patch,如果是偶数一般是指稳定的,如果是奇数表示不稳定的
---- ^ 符号表示对版本进行适配,只锁定主板号,也就是主板号不变,其他进行适配
---- ~ 表示锁定主版本号和次版本号,patch适配
---- 版本号前面为空表示锁定主版本号、次版本号、补丁号
---- * 符号表示包的最新版本





6–清除缓存
 
  
7–npm脚本

什么是npm脚本?
npm允许在packsge.json文件中,使用scripts字段定义脚本命令。通过npm run key执行
在这里插入图片描述
在这里插入图片描述


执行顺序
如果npm脚本里需要执行多个任务,那么需要明确它们的执行顺序。

① & 符号表示并行执行,执行顺序不确定,按照哪个文件先执行完的来排序
在这里插入图片描述
② && 符号表示串行执行,按照从做左到右的顺序执行文件(先执行script1.js在执行script2.js文件)
在这里插入图片描述


简写脚本:start、test
scripts脚本中有几个特殊的简写脚本:start、test。在命令终端中执行这两个脚本时不需要写run,直接输入npm start/test即可运行npm脚本.

访问package.json中的配置变量,前缀npm_package_

windows:
在这里插入图片描述
mac:
在这里插入图片描述
运行结果:
在这里插入图片描述




②外部文件访问package.json中的配置变量

script.js:
在这里插入图片描述
在这里插入图片描述
运行结果:
在这里插入图片描述



(3)NRM(npm registry manager )

1–手动切换源

查看当前源:

 
  

切换淘宝源(最新):

 
  
2–NRM管理源

NRM是npm的镜像管理源工具,有时候国外资源太慢,使用这个就可以快速地在npm源间切换。

安装NRM
需全局安装

 
  

使用NRM
终端输入:

 
  

在这里插入图片描述

切换NRM
切换taobao源:

 
  

切换npm源:

 
  

测试速度

 
  
3–设置代理
 
  

(4)NPX(npm package extention)

npm从5.2版开始,增加了npx命令。Node自带npm模块,所以可以直接调用npx命令。如果不行则手动安装:

 
  

NPX的作用: 为了调用项目内部安装的模块,例:
如果项内部安装了webpack,目前为止通过命令的方式获取版本号有两种

①终端直接输入:

 
  

②编写package.json中的scripts脚本
在这里插入图片描述
再执行脚本:

 
  

以上两种用起来都比较麻烦,npx就是为了解决这个问题,所有有了第三种方式:

③终端直接输入:

 
  

原理:项目运行的时候,会到node-modules/.bin 路径下和环境变量$PATH里面检查命令是否存在

使用时的两种情况
①如果项目本地有访问的依赖包,则直接访问,例:
项目中有webpack包则执行npx webpack -v,结果会显示webpack的版本号

在这里插入图片描述

两参数的使用
①–no-install:让npx强制使用项目本地安装模块(依赖包),不下载远程模块(依赖包) 。如果本地不存在该依赖包,就会报错。例:

 
  

②–ignore-existing:与之相反,如果本地有同名的模块,强制安装使用远程的模块,这样可以是该模块使用的是最新版本。

 
  

node.js中有三类模块:内置模块,第三方模块,自定义模块

(1)内置模块

访问https://nodejs.org/docs/latest-v主版本号.x/api/,比如:path、http、https、process等等都是Node的内置模块中的,直接引入调用即可。
在这里插入图片描述

(2)第三方模块

  • 访问https://www.npmjs.com/
  • 按需安装第三方包 npm install pkgName
  • 将安装好的第三方包引入即可使用

(3)自定义模块 – 使用CommonJS规范

1–发布包

生成pakeage.json文件

 
  

name---------包名,包名是全网唯一的
version-------包版本号
main-----------该包的主入口,也是暴露给外面使用的接口

在这里插入图片描述

创建index.js并写入要实现的功能方法,并导出(使用CommonJS规范)

在这里插入图片描述
在这里插入图片描述

注册npm仓库账号
网站:https://www.npmjs.com/,登录已有账号邮箱

打开命令终端输入

 
  

然后输入npm的账号密码邮箱

如果npm使用了淘宝镜像https://registry.npm.taobao.org/,则需要npm切换源

 
  

再次输入登录

 
  

发布(上传)包

 
  

如果是有命名空间的包用:

 
  

或者 也可通过 package.json 中的 publicConfig 字段配置声明。

 
  

:发布带有命名空间的包 npm 会默认为是要发布私有包,发布私有包需要另外付费。

在所需要引入该包的项目安装

 
  

引入模块进可使用自定义的包

在这里插入图片描述

测试

 
  

:如果该自定义的模块中有修改,则需修改package.json中的version的版本号(比如1.0.1),再重新npm publish即可。

如何删除npm包

 
  


1)npm unpublish 命令只能删除72小时内发布的包
2)npm unpublish 删除的包,在24小时内不能重新发布
3)发布包是慎重,尽量不要在npm上发布无意义的包


如何升级版本
① 版本号格式
格式:MAJOR.MINOR.PATCH ,值非负整数,且禁止在数字前面补 0
MAJOR:主版本号,MINOR:次版本号,PATCH::修订号


② 版本号递增逻辑
1)当有破坏性不兼容的 API 变更时,升级主版本号
2)当新增一些功能特性时,升级次版本号
3)当做一些 bug 修复时,升级修订号
当某个版本还不稳定的时候,还可能要先发布一个先行版本,具体可看 semver 规范。
可以使用 npm version 命令来修改版本号。




 
  

例如:

 
  

命令行选项

–preid 指定先行版本的标识符,例如 1.2.3-rc.4 中的 rc
-m 或 --message 可以指定 commit 信息,例如 npm version patch -m "Upgrade to %s for reasons” ;
-no-git-tag-version 取消创建 git tag 和 commit 信息

2–借助 cli 工具 release-it 来自动发布包

https://blog.csdn.net/BASK2312/article/details/
在这里插入图片描述
在这里插入图片描述
其他说明
执行 npm version 命令时,会修改 package.json 、package-lock.json 的 version 字段为对应版本;若当前使用 git 来管理文件,还会创建一条 commit 信息和创建一个 tag,可通过指定 -no-git-tag-version 取消生成 commit 和 tag。



执行 npm version 前,git 工作区和暂存区确保没有文件,否则会执行失败。

(1)cross-env是什么

运行跨平台设置和使用环境变量的脚本。

(2)出现原因

当使用NODE_ENV=production来设置环境变量时,大多数Windows命令提示将会阻塞(报错),(异常是windows上的Bash,它使用本机Bash)换言之,Windows不支持NODE_ENV=production 的设置方式。

(3)解决

用cross-env可以实现使用单个命令,而不必担心平台正确设置或使用环境变量,这个包能够提供一个设置环境变量的scripts,通过Unix的方式设置环境变量,然后再Windows上也能兼容运行。

(4)安装

 
  

(5)使用

例子:目的是为了在执行npm脚本时能获取脚本中设置的参数的值

mac操作系统:
package.json
①scripts脚本中有一个NODE_ENV参数变量,不同的脚本NODE_ENV设置值不同
在这里插入图片描述
②分别在webpack.prod.config.js和webpack.dev.config.js 中获取NODE_ENV参数的值
在这里插入图片描述在这里插入图片描述




③终端分别执行脚本

 
  

windows操作系统:
在windows上操作,运行npm脚本会报错,这里就需用到cross-env,使在Windows上也可以兼容运行
在这里插入图片描述
为确保在任何操作系统上都能兼容运行,取到参数的值,都加上cross-env来获取 npm脚本中参数的值


到此这篇安装node js(安装nodejs成功,但是json-server -v报错)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • node更新到最新版本windo(node更新到最新版本)2026-02-08 14:09:05
  • node安装完node –v报错(node安装不了怎么解决)2026-02-08 14:09:05
  • node安装npm -v错误(npm安装nodemodules)2026-02-08 14:09:05
  • node版本管理工具(node版本管理工具有哪些)2026-02-08 14:09:05
  • 更新nodejs 版本命令(node.js升级版本)2026-02-08 14:09:05
  • node版本管理推荐工具在哪(node版本管理推荐工具在哪里)2026-02-08 14:09:05
  • nodejs安装nrm报错(node安装npm -v错误)2026-02-08 14:09:05
  • node面试问题(nodejs面试题总结简书)2026-02-08 14:09:05
  • node怎么安装npm(node安装过程详细过程)2026-02-08 14:09:05
  • 如何安装node环境(node安装及环境配置)2026-02-08 14:09:05
  • 全屏图片