首页 > 编程语言 >所谓node

所谓node

时间:2022-11-16 21:45:51浏览次数:57  
标签:node npm nodejs js 所谓 版本 下载

如何安装请往他处

写在前面

js:脚本语言,需要有一个解析器,浏览器配备了C++编写的V8引擎充当解析器,所以浏览器可以解析js代码。
V8可以高效地转换为机器码,而nodejs就相当于把浏览器中的V8引擎抽出来了。
nodejs是写nginx的作者创造的,和nginx一样,nodejs是一个高性能、异步的服务器,同时,它又易于扩展,不必像nginx那样使用c语言去开发扩展。特点:事件驱动、非阻塞、生态圈很好-有很多开源的npm包供使用。
nodejs的特点:
20200229102215.png

1. nvm、nodejs、npm、npx 的联系和区别

20200229102215.png
  • nodejs
    是一个js的运行环境,一个能编译js代码并运行的环境,在nodejs之前,只有浏览器中的v8引擎可以做这个事情,在nodejs之后,js代码可以在任何有node环境的计算机上运行,由此,可以用js来开发web服务器(所谓的前端人员用于开发后端服务器的工具);
  • nvm:node version management
    类比anaconda,这是一个管理node版本的管理工具:本地安装了若干版本的node之后,可以通过nvm来方便地切换版本从而让不同版本node开发的项目得以运行;
  • npm:node pakage management
    node第三方库的管理工具。如在项目中需要实现一个功能(上传文件etc.),而这个功能的js代码已经有人写好了,此时,就可以通过npm来将这个js文件下载到(本地项目的)lib文件夹中,在需要时通过<script src='path.js> 引用即可,其他功能类似。但是下载下来的各种js文件之间可能存在互相依赖的关系(比如一个功能实际上有若干个js文件),而npm就是为了解决这个问题而存在的(不然直接手动下载就可以了),只要将库文件名告诉npm,npm就自动下载、管理依赖;
  • npx
    npm在下载依赖时,会在项目中建立一个node-modules的文件夹,所有的依赖都会在这个文件夹中,有需要的话就可以进入node-modules文件夹来加载相关命令。而npx命令会先到node-modules文件夹中寻找命令,如果没有则从网上下载下来再使用,然后删掉!这个操作也被称为“无侵入式地下载”。

2. nvm以及node中的各个文件

2.1 nvm安装路径中有一个settings.txt

这个settings设定了:nodejs会被下载到哪里、从哪里下载

  • root:nodejs会被下载安装到这个路径下
  • node_mirror:nodejs从这里被下载,通常是国内的镜像
  • npm_mirror:npm从这里被下载:新版本的nodejs通常安装时会顺序安装一个npm,但是旧版本的不会,需要自己手动nvm install 一个

2.2 nvm能干啥

nvm就有俩任务:①下载某个版本的nodejs;②切换线性nodejs的版本。

2.3 npm下载的东西在哪

npm install xx:xx会被下载到cmd当前目录中
npm install -g xx:xx会被下载到全局目录中

2.4 全局安装目录

通过npm config set prefix和npm config set cache来设定,这个和npm版本无关,prefix路径对所有nodejs通用。
而具体的配置会在C:\users\user_name.npmcr中,因此,除了上面的命令外,还可以通过手动更改这个文件来配置全局安装目录

2.5 某个版本nodejs的node_modules有什么用

在下载nodejs时新一些的会直接把npm顺带下载,而这个npm就会被顺势下载到被下载nodejs的node_modules中了

2.6 构建nodejs项目

构建nodejs项目有两个内容需要准备:①这个项目对应的js包;②配置文件。

  • 包的安装上面已经提到
  • 配置文件指的是“package.json”,这个文件可以通过npm init来创建,有了这个json文件,npm下载时就会把更新的内容填上去,也会知道哪些是已经下载了的
    如果是从零构建一个项目,建议自己建立一个项目对应的文件夹,在对应的目录下创建配置文件、下载第三方库

2.7 Q&A

我为什么需要多个版本的nodejs?

  • 有时候我们是需要两个版本的nodejs,就比如我的项目中需要用到v5.6.0版本的nodejs 但是webpack需要使用最新版本的(这个都是坑出来的,半天没找到原因),这就需要我用到两个版本的nodejs了。https://blog.csdn.net/my_new_way/article/details/104470723
  • Node.js 的版本更新非常快,所有有时需要在多个版本之间切换,就需要安装多个版本的 Node.js.
    https://www.jianshu.com/p/b82869a76096
    全局路径or局部路径?
    我的建议是如无必要,请使用局部路径,尤其是当你创建一个新项目而又可能不止需要维护一个项目时,这样可以最大程度避免项目之间依赖版本的冲突
    nodejs如此快速的迭代以及全局路径之间的不变难道不会有什么坏处吗
    有的,这里就详细分析了nodejs安装路径会引发的实际存在问题

参考链接

node, nvm, npm, npx的区别
npm v.s. npx
nvm的安装和使用
使用nvm管理不同版本的node
npm下载的文件在哪里
settings.txt的配置
node_modules的糟糕之处

标签:node,npm,nodejs,js,所谓,版本,下载
From: https://www.cnblogs.com/YuanShiRenY/p/16897602.html

相关文章

  • 3 、Vue 【进阶】- diff 算法(2), 【包含完整 patchNode】
    Vue【进阶】-diff算法(2),【包含完整patchNode】前言上一讲https://www.cnblogs.com/caijinghong/p/16879388.htmldiff算法讲了:虚拟dom文件位置seter触发后的......
  • 深入剖析nodejs中间件
    nodejs的出现为前端行业带来了无限的可能性,让很多原来只负责客户端开发的同学也慢慢开始接触和使用服务器端技术.虽然nodejs带来了很多的好处,但是它也存在自身的局限性.......
  • 深入nodejs的event-loop
    此处如无特殊指出的话,eventloop的语境都是指nodejs本文研究所用的nodejs环境是:操作系统window10+nodejs版本号为v12.16.2什么是eventloop?eventloop是指由libuv......
  • 安装node-sass报错问题
    1、提前安装一下python-2.7.15.amd64并配置环境变量2、建议不要安装最新的nodejs版本,鼓捣了两天一直安装卸载nodejs,最后记录一下安装成功的版本C:\Users\Administrator>......
  • 快速解决 npm 安装 node-sass 速度慢/错误的问题
     可通过配置淘宝的镜像源解决,首先配置淘宝的镜像源npmconfigsetregistryhttps://registry.npm.taobao.org然后在~/.npmrc加入下面内容sass_binary_site=https:/......
  • nodejs中事件循环中的执行顺序
    nodejs事件循环是一个典型的生产者/消费者模型,异步I/O、网络请求等是事件的生产者,源源不断为Node提供不同类型的事件,这些事件被传递到对应的观察者那里,事件循环则从观......
  • 「Node.js」“寓教于乐”的学习记录
    前言我个人更喜欢边学边实际编写功能,但是限于对Node的接触较少,所以我转而求助于大佬的文章,这些优秀的文章中有些是写具体功能实现。于是我便开启一段欢乐的学习之旅。参考文......
  • Node.js的crypto模块,crypto加密算法
    1、安装2、使用//通过crypto.createHash()函数,,创建一个hash实例,但是需要调用md5,sha1,sha256,sha512算法来实现实例的创建。crypto.createHash();//创建hash实例letsha1......
  • node版本管理工具nvm
    1.nvm是什么?nvm是一个node的版本管理工具,可以简单操作node版本的切换 2.使用场景前端更新较快,而老项目依赖经常是基于node老版本,而新项目往往会与之冲突 3.下载安......
  • node.js & npm version not match bug
    node.js&npmversionnotmatchbughttps://github.com/web-full-stack/nextjs-ssr/issues/7refs©xgqfrms2012-2020www.cnblogs.com/anonymous007发布文......