Node.js环境搭建

  什么使Node.js呢?我们知道JavaScript开始作为客户端语言,但早已在浏览器端一统江湖,这时,野心越来越大,它就想向服务器端拓展了,于是Node.js就是这样的,我们可以使用JavaScript来编写服务器端的语言了。

  第一步:进入官网,然后直接点击左边的下载左边的部分,因为其提示 “Recommended For Most Users”。

 

  第二步:下载得到的是msi文件,直接双击安装,一路next即可安装完成。

  

  第三步:这时,我们就可以在“开始”中找到最新添加了两项内容,可以创建快捷方式到桌面上方便使用。如图:

  

  第四步:安装完成后,按下win+R ,然后输入cmd后进入dos窗口,直接输入 node -v,这时我们可以看到你所安装的版本号,表示安装成功,如下所示:

  

  第五步:npm安装。目前的NodeJS都是已经集成了npm,所以无需再安装。为确定npm被成功安装,我们可以按照第四步的方法输入 npm -v,这时同样可以看到你所安装的版本号,如下所示:

  

  显然这里和第四步中的 v 都是version(版本)的意思。

    那么什么是npm呢?

    NPM是随同NodeJS一起安装的包管理工具,其全称是Node Package Manager,即Node包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  1. 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  2. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  3. 允许用户将自己编写的包或者命令行程序上传到NPM服务器供别人使用。

    更多关于npm知识请点击这里

  

  第六步:实际上到这里常规的node环境就已经搭建完成了。这时我们就可以输入console.log('hello world')了。

      方法一:我们可以先win+r,然后输入cmd,进入之后输入node,最后输入console.log('hello world')这时就可以成功地输出了。

      方法二:     我们可以双击进入这个环境之后,直接输入console.log('hello world')。

      方法三: 我们可以双击进入这个环境之后,先输入node进入node环境,然后再输入console.log('hello world'),即可成功输出。

npm模块安装机制

1. npm install  

  使用该命令后会先检查 node_modules 中是否含有该模块,如果没有,那么安装,如果已经存在,就不会安装。

  如果不管有么有都希望安装,那么我们可以使用 npm install <包名> --force 即强制安装包。

2. npm update

  即先检查自身是否存在模块或者远程的包是否比本地的新,满足其一,就会重新安装。

3. registry

  npm update 是如何知道每个包的最新版本呢?

  即npm模块仓库提供了一个查询服务,即registry, 查询地址是: https://registry.npmjs.org/  ,这个网址后面跟上模块名,就会得到一个 JSON 对象,里面是该模块所有版本的信息。比如,访问 https://registry.npmjs.org/react,就会看到 react 模块所有版本的信息。

  而我们通过下面的命令得到就是 https://registry.npmjs.org/react 的等价信息:

$ npm view react

# npm view 的别名
$ npm info react
$ npm show react
$ npm v react

  registry 网址的模块名后面,还可以跟上版本号或者标签,用来查询某个具体版本的信息。比如, 访问 https://registry.npmjs.org/react/v0.14.6 ,就可以看到 React 的 0.14.6 版。  

  返回的 JSON 对象里面有一个 dist.tarball 属性, 这个属性值就是这个压缩包的网址:

  到这个网址下载压缩包,在本地解压,就可以得到模块的源码,通过npm install 和 npm update 命令,就是通过这种方式来安装模块的。

  

4. 缓存目录

  在registry下载之后,就会放在本地的缓存目录,每次下载时,都会先把ETag和本地缓存中的比较,如果在可以接受的范围内,我们就直接用缓存中的,如果在不能接受的范围内,那么就下载。

  我们通过下面的命令可以来查询缓存文件的目录:

  在我的缓存目录下已经存在了很多:

5. 模块的安装过程

  node模块的安装过程如下:

  1. 发出npm install命令
  2. npm 向 registry 查询模块压缩包的网址
  3. 下载压缩包,存放在~/.npm目录
  4. 解压压缩包到当前项目的node_modules目录。

  注意,一个模块安装以后,本地其实保存了两份。一份是~/.npm目录下的压缩包,另一份是node_modules目录下解压后的代码。

  但是,运行npm install的时候,只会检查node_modules目录,而不会检查~/.npm目录。也就是说,如果一个模块在~/.npm下有压缩包,但是没有安装在node_modules目录中,npm 依然会从远程仓库下载一次新的压缩包。

6. --cache-min 参数

  为了解决这些问题,npm 提供了一个--cache-min参数,用于从缓存目录安装模块。

--cache-min参数指定一个时间(单位为分钟),只有超过这个时间的模块,才会从 registry 下载。

$ npm install --cache-min  <package-name>

  上面命令指定,只有超过999999分钟的模块,才从 registry 下载。实际上就是指定,所有模块都从缓存安装,这样就大大加快了下载速度。  

7. 离线安装的解决方案

有三种,第一:使用Registry代理。 第二: 使用 npm install替代。 第三: 使用node_modules作为缓存目录。

结束

Node.js环境搭建&&npm安装的更多相关文章

  1. paip.最好的脚本语言node js 环境搭建连接mysql

    paip.最好的脚本语言node js 环境搭建连接mysql #====下载node...走十一个exe..容易的.. 1 #0----Hello world   .js 2 #---------模 ...

  2. Node.js 环境搭建及简单应用

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型.如果你想创建自己的服务,那么Node.js是一个非 ...

  3. Node.js环境搭建和学习(windwos环境)

    Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...

  4. 十、.net core(.NET 6)搭建ElasticSearch(ES)系列之Java环境搭建和Node.js环境搭建

    安装java jdk环境:我此处使用的是jdk16版本.下载地址: https://www.oracle.com/java/technologies/javase-jdk16-downloads.ht ...

  5. 初学Node.js -环境搭建

    从毕业一直到现在都是在做前端,总感觉缺少点什么,java? PHP? .Net? 框架太多了,学起来不好掌握,听说node.js挺牛的,我决定把node.js好好的学一下.首先是环境的配置,这个配置真 ...

  6. ubuntu下node.js 环境搭建

    由于使用gulp.js来对前端项目进行管理,所以搭建了node.js的环境 首先, 需要安装node, npm 去官网下载安装包,解压后放到你的安装的目录.在这里我的是/opt/node-v6.11. ...

  7. widows下node.js环境搭建及运行js

    昨天刚刚开始学习node.js,网上一些教程不是很清楚,所以总结一下我的经验. 1.安装. 安装省略,就到官网上去下载安装一下就好.安装完成之后,打开cmd,输入"path",查看 ...

  8. ubuntu下Node.js环境搭建

    Node.js是一个能够在服务器端运行JavaScript的开放源代码.跨平台JavaScript运行环境.Node.js由Node.js基金会持有和维护,并与Linux基金会有合作关系.Node.j ...

  9. 1. node.js环境搭建 第一行代码

    一.NodeJs简介 NodeJS官网上的介绍: Node.js is a platform built on  Chrome's JavaScript runtime  for easily bui ...

随机推荐

  1. sql语句语句中的正则查找

    举例: select tncl_id from tncl where tncl_id regexp'^0065'; 有一表,数据有10万多条,其中某列数据示例如下: 100000-200000-300 ...

  2. 如何使用Office Word 2007以上在写51CTO博客

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  3. uva 10169 - Urn-ball Probabilities !(概率)

    题目链接:uva 10169 - Urn-ball Probabilities ! 题目大意:在一个箱子中,原本有1个红球,然后任意取出(有放回)一个球,然后再往里放一个白球(每次取都要放进一个白球) ...

  4. Zabbix部署与使用

    *******需要配置网易YUM源来安装相关依赖包: [local_yum] name=local_yum baseurl=http://mirrors.163.com/centos/6/os/x86 ...

  5. Java程序中做字符串拼接时可以使用的MessageFormat.format

    Java里从来少不了字符串拼接的活,Java程序员也肯定用到过StringBuffer,StringBuilder,以及被编译器优化掉的+=.但这些都和下文要谈的无关. 比如有这样的字符串: 张三将去 ...

  6. [label][JavaScript]读nowmagic - js词法作用域、调用对象与闭包

     原文链接:                 http://www.nowamagic.net/librarys/veda/detail/1305 作用域(scope) JavaScript 中的函数 ...

  7. iptables命令(备忘)

    语法 iptables(选项)(参数) 选项 -t<表>:指定要操纵的表: -A:向规则链中添加条目: -D:从规则链中删除条目: -i:向规则链中插入条目: -R:替换规则链中的条目: ...

  8. Elasticsearch中的索引管理和搜索常用命令总结

    添加一个index,指定分片是3,副本是1 curl -XPUT "http://10.10.110.125:9200/test_ods" -d' { "settings ...

  9. JS三个编码函数和net编码System.Web.HttpUtility.UrlEncode比较

    JS三个编码函数和net编码比较 总结 1.escape.encodeUri.encodeUriComponent均不会对数字.字母进行编码.2.escape:对某些字符(如中文)进行unicode编 ...

  10. Prim算法---最小生成树

    最小生成树的Prim算法也是贪心算法的一大经典应用.Prim算法的特点是时刻维护一棵树,算法不断加边,加的过程始终是一棵树. Prim算法过程: 一条边一条边地加, 维护一棵树. 初始 E = {}空 ...