5.nodeJS环境安装

简介: 5.nodeJS环境安装

1.NodeJS是什么?


1.1 Node.js是一个基于Chrome V8引擎的[JavaScript运行环境]。 Node.js使用了一个事件驱动、非阻塞式I/O 的模型。

1.2 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言

注1:Node.js–>JavaScript运行环境,开发语言是:javascript

J2EE -->Java运行环境, 开发语言是java

注2:Node.js v10.15.3文档地址:http://nodejs.cn/api/


2. npm是什么


npm其实是Node.js的包管理工具(package manager)。


为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。

如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。

于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,

直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。


更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,


npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。


注1:npm==maven 有点类似


3. Node.js环境搭建


由于Node.js平台是在后端运行JavaScript代码,所以,必须首先在本机安装Node环境。


想一想,java开发的第一步:是不是安装JDK,再配置环境变量java_home/classpath/path


3.1 下载

下载地址:https://nodejs.org/zh-cn/download/


选择相应的版本下载,本章使用的是:node-v10.15.3-win-x64.zip


注1:Node有两个版本线: LTS是长期维护的稳定版本Current是新特性版本


3.2 解压

将文件解压到指定位置(例如:D:\initPath),并在解压后的目录下建立node_global和node_cache这两个目录


注1:新建目录说明


node_global:npm全局安装位置


node_cache:npm缓存路径


注2:本教程是将文件解压到D:\initPath目录,后面都以此为例,实际开发中请修改成自己的解压目录


3.3 配置环境变量

新增NODE_HOME,值为:D:\initPath\node-v10.15.3-win-x64


修改PATH并在最后添加:;%NODE_HOME%;%NODE_HOME%\node_global;


注1:环境变量查看


echo %node_home%


echo %path%


注2:测试安装是否成功:打开cmd窗口,输出如下命令会输出NodeJs和npm的版本号


node -v


npm -v


3.4 配置npm全局模块路径和cache默认安装位置

打开cmd,分开执行如下命令:

npm config set cache "D:\initPath\node-v10.15.3-win-x64\node_cache"
npm config set prefix "D:\initPath\node-v10.15.3-win-x64\node_global"

注1:将步骤一创建的node_global(npm全局安装位置)和node_cache(npm缓存路径)与npm联系起来

注2:如果执行命令卡死,可以删除C:\Users\用户名.npmrc 后重新执行。(用户名:为当前电脑的用户名)

注3:“D:\initPath\node-v10.15.3-win-x64\node_global”,双引号不能少


3.5 修改npm镜像提高下载速度(可以使用 cnpm 或 直接设置 --registry ,推荐设置 --registry)

3.5.1 --registry

## 设置淘宝源
npm config set registry https://registry.npm.taobao.org/
## 查看源,可以看到设置过的所有的源
npm config get registry

注1:其实此步骤的内容就是将以下代码添加到C:\Users\用户名.npmrc文件中

registry=https://registry.npm.taobao.org

3.5.2 cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

注1:cnpm安装完成后,以后就可以用cnpm命令代替npm命令, 此时npm还是会用官方镜像,cnpm会用国内镜像

注2:如果要恢复成原来的设置,执行如下:

npm config set registry https://registry.npmjs.org/


3.6 验证安装结果

3.6.1 版本验证(同步骤3.3,注2)

npm -v
node -v

3.6.2 查看淘宝镜像设置情况

npm get registry

3.6.3 查看npm全局路径设置情况

 ## 此步骤随便全局安装一个模块就可以测评
npm install webpack -g
## 以上命令执行完毕后,会生成如下文件
%node_home%\node_global\node_modules\webpack
注意:下载过程中出现warn不用管,出现Error,删掉下载的破碎文件重新下载
目录
相关文章
|
资源调度 JavaScript
nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法
nodeJS 的 npm 设置国内高速镜像之淘宝镜像的方法
10050 12
|
5月前
|
存储 NoSQL Java
别再用定时任务扫库了!SpringBoot集成Redis实现订单超时管理
你开了一家网红奶茶店,顾客下单后30分钟不付款,订单就自动取消。你总不能雇个店员盯着每个订单看30分钟吧?Redis的过期键和发布订阅功能,就是那个不知疲倦的“自动取消专员”!
364 3
|
JavaScript 内存技术
node与npm版本对应关系以及使用nvm管理node版本
node与npm版本对应关系以及使用nvm管理node版本
9407 0
|
9月前
|
消息中间件 分布式计算 Kafka
数据慢半拍,问题可能不在“数据”:聊聊数据传播延迟的那些坑
数据慢半拍,问题可能不在“数据”:聊聊数据传播延迟的那些坑
463 7
|
前端开发 Java 测试技术
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
本文介绍了 `@RequestParam` 注解的使用方法及其与 `@PathVariable` 的区别。`@RequestParam` 用于从请求中获取参数值(如 GET 请求的 URL 参数或 POST 请求的表单数据),而 `@PathVariable` 用于从 URL 模板中提取参数。文章通过示例代码详细说明了 `@RequestParam` 的常用属性,如 `required` 和 `defaultValue`,并展示了如何用实体类封装大量表单参数以简化处理流程。最后,结合 Postman 测试工具验证了接口的功能。
981 0
微服务——SpringBoot使用归纳——Spring Boot中的MVC支持——@RequestParam
|
Java 开发者 Spring
【SpringBoot 异步魔法】@Async 注解:揭秘 SpringBoot 中异步方法的终极奥秘!
【8月更文挑战第25天】异步编程对于提升软件应用的性能至关重要,尤其是在高并发环境下。Spring Boot 通过 `@Async` 注解简化了异步方法的实现。本文详细介绍了 `@Async` 的基本用法及配置步骤,并提供了示例代码展示如何在 Spring Boot 项目中创建与管理异步任务,包括自定义线程池、使用 `CompletableFuture` 处理结果及异常情况,帮助开发者更好地理解和运用这一关键特性。
2936 1
【Shiro】7、Shiro实现控制用户并发登录并踢人下线(下)
在传统的项目中,同一账户是允许多人同时登录在线的,有的使用场景恰恰是不允许多人同时在线的,那么我们可以通过 Shiro 来控制并发登录,并实现后登录的用户,挤掉前面登录的用户
878 0
|
数据库 Docker 容器
Docker版TDengine2.6升级到Tdengine3.0
请注意,这些步骤提供了一般的升级指南。具体的升级过程可能因你的环境和配置而异。在进行升级之前,建议查阅TDengine官方文档和Docker镜像的相关文档,以获取更详细的升级和配置信息。
582 5
|
Java API 开发者
springboot 多线程的使用原理与实战
在Spring Boot中实现多线程,主要依赖于Spring框架的@Async注解以及底层Java的并发框架。这里将深入剖析Spring Boot多线程的原理,包括@Async注解的工作方式、任务执行器的角色以及如何通过配置来调整线程行为。
1703 5
|
Linux
Linux每五分钟执行一次某个脚本的定时任务如何写
【6月更文挑战第28天】Linux每五分钟执行一次某个脚本的定时任务如何写
3551 0