卖文具的网站建设/怎么给公司做网站

卖文具的网站建设,怎么给公司做网站,东营网站建设seo,备案网站名称大全配置Node.js环境 一、前言 (一)为什么要配置Node.js?(二)NPM生态是什么(三)Node和NPM的区别 二、如何配置Node.js环境 第一步、安装环境第二步、安装步骤第三步、验证安装第四步、修改全局模块…
配置Node.js环境
  • 一、前言
    • (一)为什么要配置Node.js?
    • (二)NPM生态是什么
    • (三)Node和NPM的区别
  • 二、如何配置Node.js环境
    • 第一步、安装环境
    • 第二步、安装步骤
    • 第三步、验证安装
    • 第四步、修改全局模块下的安装路径
    • 第五步、更换npm源为淘宝镜像源
    • 六、全局安装基于淘宝源的cnpm
      • 【报错】
      • 【尝试】
      • 【临时解决方案】
    • 三、总结

2024/3/14

一、前言

(一)为什么要配置Node.js?

运行JavaScript文件通常需要要配置Node.js,主要基于几个原因:

  1. JavaScript环境:传统的JavaScript是在浏览器环境中运行的,依赖于浏览器提供的API(如DOM操作、网络请求等)。然而,在服务器或本地环境中并没有这些浏览器API。Node.js提供了一个可以执行JavaScript代码的环境,包括基本的API,如文件I/O、网络通信等。
  2. V8引擎:Node.js包含了谷歌的V8 JavaScript引擎,这是执行JavaScript代码的核心组件。没有这个引擎,系统就无法理解并执行JavaScript代码。
  3. 事件循环和非阻塞I/O:Node.js设计为单线程并利用事件循环机制来处理并发,这使得它非常适合I/O密集型任务,例如Web服务。没有Node.js,你需要自己实现这样的机制或者使用其他语言和框架。
  4. 模块系统:Node.js提供了 CommonJS 模块系统,允许开发者通过require函数导入其他JavaScript模块。这是Node.js特有的,不适用于浏览器环境。
  5. npm生态:通过Node.js,开发者能够访问庞大的npm(Node Package Manager)生态系统,这个生态系统包含数以万计的开源库和工具,极大地促进了开发效率和功能扩展。
  6. 后端JavaScript:如果你希望用JavaScript编写后端代码,那么Node.js是一个非常好的选择,因为它让你可以用同一种语言进行全栈开发。
  7. 桌面和命令行应用:Node.js还允许你创建桌面和命令行应用。没有Node.js,JavaScript无法直接用于这类应用的开发。

简而言之,Node.js提供了在_服务器或本地环境_运行JavaScript所必需的运行时环境和库,使得JavaScript的应用范围扩展到了浏览器之外。如果没有Node.js,开发者将无法在非浏览器环境下执行JavaScript代码。

(二)NPM生态是什么

NPM生态是指围绕Node Package Manager(NPM)建立起来的庞大的软件包和工具的生态系统。这个生态系统对于前端和后端开发者来说都是极其重要的资源,它提供了如下几个关键特点:

  • 丰富的包资源:NPM拥有大量的包(packages),这些包是由社区成员开发的,并且可以供其他开发者使用。这些包涵盖了从前端框架到实用工具,再到后端服务的各个方面。
  • 跨平台兼容性:许多NPM包是跨平台的,这意味着它们既可以在服务器端(如Node.js环境)也可以在浏览器端运行。这为开发者提供了极大的灵活性,使得一些包能够在不同的项目中重复使用。
  • 版本控制:NPM允许开发者在安装包时指定具体的版本号,这为项目提供了稳定性和可预测性。开发者可以通过这种方式来确保他们的项目依赖于特定版本的包,以避免潜在的不兼容问题。
  • 社区支持:NPM的成功部分归功于其庞大的开发者社区。社区成员不仅开发和维护包,还通过论坛、博客文章和教程等形式分享知识和最佳实践。
  • 发展历史:NPM最初是为Node.js设计的包管理器,但它已经发展成为一个现代的、功能齐全的包管理工具,其架构和功能不断演进以满足开发者的需求。

总的来说,NPM生态是一个由开发者驱动、社区支持的强大系统,它通过提供数以万计的高质量包和工具,极大地促进了前端和后端开发的便利性和效率。

(三)Node和NPM的区别

NPM(Node Package Manager) 是一个用于管理JavaScript包的命令行工具,它允许开发者安装、分享和分发软件包,特别是用于Node.js的模块。NPM是随同Node.js一起安装的,为Node.js提供了包管理的功能。

Node.js 是一个基于Chrome V8引擎的JavaScript运行时环境,它允许在服务器端执行JavaScript代码。Node.js的设计目标是提供一种简单的构建可扩展网络应用的方法。

功能上的联系与区别:

  • Node.js 提供了运行JavaScript的环境,使得开发者可以在服务器或本地机器上执行JavaScript代码,进行后端开发或者创建命令行工具等。
  • NPM 是随Node.js一起安装的,它是Node.js的默认包管理器,用于管理项目所依赖的库和模块。通过NPM,开发者能够轻松地安装、更新和删除包,以及管理项目依赖的版本。

简而言之,Node.js 是一个执行环境,而NPM 则是这个环境下的一个工具,用来管理项目所需的各种软件包和库。两者通常是捆绑在一起使用的,NPM是Node.js生态中不可或缺的一部分。

二、如何配置Node.js环境

第一步、安装环境

官网下载node.js : https://nodejs.cn/download/

image-20240313152259105

第二步、安装步骤

除了第三步更改安装目录,都可以直接下一步;

20240313152329

20240313152339

20240313152501

20240313152538

20240313152932

20240313152946

20240313153022

第三步、验证安装

win + R 打开命令行:

node -v
npm -v

image-20240313153810361

出现版本号,则代表安装成功;如果失败,将刚刚的安装包彻底删除,重新安装;

第四步、修改全局模块下的安装路径

【什么是全局模块有什么作用?】

全局模块是指在Node.js环境中,安装的包或模块对所有用户空间下的应用程序都可见和可用

_修改全局模块_通常指的是更改全局模块的安装路径或缓存路径。默认情况下,npm(Node Package Manager)会将全局安装的模块存放在系统用户的AppData目录下,并在同一目录下创建用于存放缓存文件的文件夹。然而,有时候出于对磁盘空间利用的考虑或者其它管理目的,开发者可能需要修改这些路径。以下是如何修改全局模块路径的一般步骤:

  1. 确认Node.js已安装:确保已经安装了Node.js并将其添加到了环境变量中。可以通过在命令行输入node -v来检查Node.js是否安装成功。

  2. 创建新的文件夹:在Node.js的安装目录下创建两个新文件夹,分别用于存放全局模块(node_global)和缓存文件(node_cache)。

  3. 设置新的路径:通过npm配置命令npm config set prefixnpm config set cache来分别指定新的全局模块安装路径和缓存路径;说明:
    prefix = 创建的node_global文件夹所在路径
    cache = 创建的node_cache文件夹所在路径

    npm config set prefix "D:Node_v18.19.1
    ode_global"
    npm config set cache "D:Node_v18.19.1
    ode_cache"
    
  4. 更新环境变量:修改环境变量,确保系统的PATH变量包含了新的全局模块路径,这样在任何位置运行命令时都能够访问到这些模块。

image-20240313162953526

image-20240313163358845

【用户变量】

将原来的用户变量-> Path ->【C:UserslidaxiaAppDateRoaming pm 】-> 【D:Node_v18.19.1 ode_global

image-20240313165435308

【系统变量】

添加Path–>变量名:NODE_PATH-> 变量值:【D:Node_v18.19.1 ode_global ode_modules】

image-20240313165936875

在【系统变量】下的Path新建node全局文件夹【D:Node_v18.19.1 ode_global】

image-20240313170634013

经过上面的步骤,nodejs下载的模块就会自动下载到我们自定义的目录,接下来我们测试一下。输入下面的命令:

npm install express -g # -g是全局安装的意思,不加 -g 就是默认下载到当前目录

出现以下报错:【权限问题,右击Nodejs文件夹,属性,安全,勾选所有权限】

image-20240313170855588

修改后:

image-20240313171140900

image-20240313171233195

image-20240313171357256

成功!

第五步、更换npm源为淘宝镜像源

npm默认的registry(注册表)

npm config get registrynpm config set registry https://registry.npmmirror.comnpm config get registry

image-20240314130830084

六、全局安装基于淘宝源的cnpm

【npm的服务器在海外,访问速度慢不稳定 】

cnpm的服务器是由淘宝团队提供 服务器在国内cnpm是npm镜像,一般会同步更新,相差在10分钟,所以使用cnpm在安装一些软件时候会比较有优势。但是一般cnpm只用于安装的时候,所以在项目创建与卸载等相关操作时候我们还是使用npm。

注意】:原域名证书已经到期【https://registry.npm.taobao.org】—>npm新的源:【https://registry.npmmirror.com】

qq_pic_merged_1710391041993

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

下载后在node.js–全局模式node_global–cnpm模块可以查看文件模块

image-20240314130115703

【报错】

如果出现以下报错,则是由于证书过期导致的:

更换npm新的源:【https://registry.npmmirror.com】就行!

image-20240314105105961

20240314124535

【尝试】

在发现镜像源错了得时候,尝试了许多方法去解决证书过期问题(虽,最本质的问题不是这个问题,但也希望能给各位提供些思路:解决各类证书过期的问题):

  1. 检查npm和Node.js版本确定为最新版;
  2. 清除npm缓存;
  3. 更换npm源为官方源;
  4. 重新安装cnpm。

如果过程中,如清除缓存仍然显示证书过期无法执行操作,参考临时解决方案:

【临时解决方案】

绕过ssl证书验证,后面用完得重新加上ssl证书验证:

npm canfig set strict-ssl false
npm canfig set strict-ssl true

20240314113110

20240314113240

三、总结

本文参考:https://blog.csdn.net/qq_48485223/article/details/122709354

原先clone下一个项目找不到Main函数,但里面全是js文件,就打算配置好Node.js环境以此来运行JavaScript文件(后面,我发现不用在本地配Node.js 环境也能运行项目——Html文件也能行!!!!啊啊啊啊!!!!!!)配都配了,那就好好配完!

跟着步骤一步步来,应该能顺利完成配置,遇到的一些特殊情况(镜像源域名证书到期)
我也已经帮各位踩了一遍坑,愿诸君一帆风顺,一次功成!
如对您有帮助请**!!点赞+收藏!!**

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Greenplum临时表未清除导致库龄过高处理

1.问题 Greenplum集群segment后台日志报错 2.回收库龄 master上执行 vacuumdb -F -d cxy vacuumdb -F -d template1 vacuumdb -F -d rptdb 3.回收完成后检查 仍然发现segment还是有库龄报警警告信息发出 4.检查 4.1 在master上检查库年龄 SELECT datname, datfrozen…

WPF基础 | WPF 基础概念全解析:布局、控件与事件

WPF基础 | WPF 基础概念全解析:布局、控件与事件 一、前言二、WPF 布局系统2.1 布局的重要性与基本原理2.2 常见布局面板2.3 布局的测量与排列过程 三、WPF 控件3.1 控件概述与分类3.2 常见控件的属性、方法与事件3.3 自定义控件 四、WPF 事件4.1 路由事件概述4.2 事…

2K高刷电竞显示器推荐

2K高刷电竞显示器推荐,各位喜欢打游戏,身为电竞迷的小伙伴,如果你想选一款2K高刷电竞显示器,那么下面的内容不容错过。 1.HKC G27H4Pro - 2K高刷电竞显示器推荐 外观 - HKC G27H4Pro 2K高刷电竞显示器 初见 HKC G27H4Pro&#x…

【29】Word:李楠-学术期刊❗

目录 题目​ NO1.2.3.4.5 NO6.7.8 NO9.10.11 NO12.13.14.15 NO16 题目 NO1.2.3.4.5 另存为手动/F12Fn光标来到开头位置处→插入→封面→选择花丝→根据样例图片,对应位置填入对应文字 (手动调整即可)复制样式:开始→样式对话框→管理…

1.CSS的三大特性

css有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级 1.1 层叠性 想通选择器给设置想听的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要是解决样式冲突的问题。 <!DOCTYPE html> <html lang"en&…

随机矩阵投影长度保持引理及其证明

原论文中的引理 2 \textbf{2} 2 1. \textbf{1. } 1. 引理 1 \textbf{1} 1(前提之一) 1.1. \textbf{1.1. } 1.1. 引理 1 \textbf{1} 1的内容 &#x1f449;前提&#xff1a; X ∼ N ( 0 , σ ) X\sim{}N(0,\sigma) X∼N(0,σ)即 f ( x ) 1 2 π σ e – x 2 2 σ 2 f(x)\text{}…

C语言-构造数据类型

1、构造数据类型 结构体、共用体、枚举。 2、结构体 1、结构体的定义 结构体是一个自定义的复合数据类型&#xff0c;它允许将不同类型的数据组合在一起。 struct 结构体名 {数据类型1 成员变量1;数据类型2 成员变量2;数据类型3 成员变量3;数据类型4 成员变量4; } 2、结构体变…

CLOUDFLARE代理请求重定向你太多次

现象 使用CLOUDFLARE代理前请求正常&#xff0c;使用CLOUDFLARE代理请求后出现 原因分析 以下是我的猜测&#xff0c;在默认情况下 CLOUDFLARE代理&#xff0c;可能是直接请求我们服务器的IP&#xff0c;比如&#xff1a;http://1.1.1.1 而不是通过域名的方式&#xff08;如…

vue router路由复用及刷新问题研究

路由复用问题 当路由匹配路径未发生变化时&#xff0c;只是相关的参数发生了变化&#xff0c;路由跳转时&#xff0c;会发现虽然地址栏中的地址更新到了新的链接&#xff0c;但是页面渲染并未触发响应路由组件的created,mounted等钩子函数&#xff0c;也就意味着组件并没有被重…

Android各个版本存储权限适配

一、Android6.0-9.0 1、动态权限申请&#xff1a; private static String[] arrPermissions {android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.WRITE_EXTERNAL_STORAGE,android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.…

房租管理系统的智能化应用助推租赁行业高效运营与决策优化

内容概要 在现代租赁行业中&#xff0c;房租管理系统的智能化应用正在逐步成为一个不可或缺的工具。通过整合最新技术&#xff0c;这些系统为租赁管理的各个方面提供了极大的便利和效率提升。从房源管理到合同签署再到财务监控&#xff0c;智能化功能能够帮助运营者在繁琐的事…

数据结构初阶之队列的介绍与队列的实现

一、概念与结构 概念&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 FIFO (First In First Out) 的特点。 入队列&#xff1a;进行插入操作的一端称为队尾 出队列&#xff1a;进行删除操作的一端称为…

GTO 门级可关断晶闸管,全控性器件

介绍 门级可关断晶闸管是一种通过门极来控制器件导通和关断的电力半导体器件。 结构特点 - 四层半导体结构&#xff1a;与普通晶闸管相似&#xff0c;GTO也是由PNPN四层半导体构成&#xff0c;外部引出三个电极&#xff0c;分别是阳极&#xff08;A&#xff09;、阴极&#x…

FlinkSql使用中rank/dense_rank函数报错空指针

问题描述 在flink1.16(甚至以前的版本)中&#xff0c;使用rank()或者dense_rank()进行排序时&#xff0c;某些场景会导致报错空指针NPE(NullPointerError) 报错内容如下 该报错没有行号/错误位置&#xff0c;无法排查 现状 目前已经确认为bug&#xff0c;根据github上的PR日…

序列标注:从传统到现代,NLP中的标签预测技术全解析

引言 序列标注任务是自然语言处理&#xff08;NLP&#xff09;中的核心任务之一&#xff0c;广泛应用于信息抽取、文本分类、机器翻译等领域。随着深度学习技术的快速发展&#xff0c;序列标注任务的性能得到了显著提升。本文将从基础概念入手&#xff0c;逐步深入探讨序列标注…

速通Docker === Docker Compose

目录 Docker Compose 简介 Docker Compose 常用命令 使用 Docker Compose 启动 WordPress 普通启动方式&#xff08;使用 Docker 命令&#xff09; 使用 Docker Compose 启动 Docker Compose 的特性 Docker Compose 简介 Docker Compose 是一个用于定义和运行多容器 Dock…

ESP32服务器和PC客户端的Wi-Fi通信

ESP32客户端-服务器Wi-Fi通信 本指南将向您展示如何设置ESP32板作为服务端&#xff0c;PC作为客户端&#xff0c;通过HTTP通信&#xff0c;以通过Wi-Fi&#xff08;无需路由器或互联网连接&#xff09;交换数据。简而言之&#xff0c;您将学习如何使用HTTP请求将一个板的数据发…

为什么IDEA提示不推荐@Autowired❓️如果使用@Resource呢❓️

前言 在使用 Spring 框架时&#xff0c;依赖注入&#xff08;DI&#xff09;是一个非常重要的概念。通过注解&#xff0c;我们可以方便地将类的实例注入到其他类中&#xff0c;提升开发效率。Autowired又是被大家最为熟知的方式&#xff0c;但很多开发者在使用 IntelliJ IDEA …

如何用数据编织、数据虚拟化与SQL-on-Hadoop打造实时、可扩展兼容的数据仓库?

在大数据技术迅猛发展的背景下&#xff0c;许多人认为传统数据仓库已过时。然而&#xff0c;这种观点忽略了数据仓库的核心价值&#xff1a;统一的数据视图、强大的业务逻辑支撑以及丰富的数据分析能力。在企业数据架构转型中&#xff0c;数据仓库不仅未被淘汰&#xff0c;反而…

DuckDB:Golang操作DuckDB实战案例

DuckDB是一个嵌入式SQL数据库引擎。它与众所周知的SQLite非常相似&#xff0c;但它是为olap风格的工作负载设计的。DuckDB支持各种数据类型和SQL特性。凭借其在以内存为中心的环境中处理高速分析的能力&#xff0c;它迅速受到数据科学家和分析师的欢迎。在这篇博文中&#xff0…