一、node

1、什么是node?

它不是JS文件,也不是JS框架,而是Server side JavaScript runtime,当服务端的一个JS文件运行时,会被NODE拦截,在NODE中运行JS代码。JS由ES(ECMAScript),DOM,BOM 组成,目前运行在浏览器内核中,NODE中只能运行ECMAScript,无法使用DOM,BOM。

NODE就是一个JS运行环境。主要用于开发WEB应用程序开发,很多前端开发的工具都是基于NODE这个平台,所有的工具就相当于一些软件。

2、什么是环境变量

环境变量就是操作系统提供的系统级别用于存储变量的地方,分为系统变量用户变量,系统变量指的是所用当前系统用户共享的变量,自己的电脑一般只有一个用户,建议将自己配置的环境变量放在用户变量中,用户变量比较干净,环境变量的变量名是不区分大小写的,变量间运行相互引用。

3、windows下用nvm 安装node

如果你已经单独安装了node,建议先卸载。

1. nvm 下载

nvm 的下载地址:https://github.com/coreybutler/nvm-windows/releases 。

选择第一个 nvm-noinstall.zip ,然后解压在系统盘(一般开发相关的文件我都放C盘,但是放别的盘也是可以的)。我放的目录路径是C:\dev\nvm。解压出来的文件有:
  + elevate.cmd
  + elevate.vbs
  + install.cmd
  + LICENSE
  + nvm.exe

2. nvm 安装

双击 install.cmd ,是以控制台形式显示的,第一下直接按回车,然后会在C盘根目录产生settings.txt,把这个文件放进刚刚解压的那个目录,然后修改settings.txt内容,改成下面那样:

root: C:\dev\nvm

path: C:\dev\nodejs

arch: 64

proxy: none

node_mirror: http://npm.taobao.org/mirrors/node/

npm_mirror: https://npm.taobao.org/mirrors/npm/

但是有些人很不幸,这个方法行不通,因为打开 install.cmd按下回车后,显示拒绝访问注册表路径,并弹出一个settings.txt。这时候,你只要淡定地叉掉那个文本以及控制台,然后在刚刚的目录里新建一个文件settings.txt,最后把上面的内容复制进去就可以了。

root : nvm的存放地址

path : 存放指向node版本的快捷方式,使用nvm的过程中会自动生成。一般写的时候与nvm同级。

arch : 电脑系统是64位就写64,32位就写32

proxy : 代理

3. nvm 配置

以控制台方法执行成功的,在环境变量里会自动配置了 NVM_HOME 和 NVM_SYMLINK ,这时候只要修改相应的路径就行了。

直接创建settings文件的可以在环境变量中用户变量里创建 NVM_HOME 和 NVM_SYMLINK,并添加路径

NVM_HOME: C:\dev\nvm

NVM_SYMLINK C:\dev\nodejs

PATH里加上;%NVM_HOME%;%NVM_SYMLINK%;
一键控制台install的还要检查 环境变量 PATH 上的路径有没有添加C:\dev\nvm以及C:\dev\nodejs,有的话就删掉。

4. 检测安装结果

打开控制台,输入:nvm  -v,若是出现版本信息,则安装。若报错,那就重新把步骤再捋一遍。

检查环境变量是否配置成功:可以在控制台输入:set [环境变量名],查看路径是否填写错误

5. 使用node

控制台下载 => 输入:nvm install  版本号,下载最新版的可以直接输nvm install latest

下载完成后,在控制台输入:nvm use v11.6.0。即使用这个版本号的node了。在use后,在C:\Program Files下会自动生成nodejs文件夹。

二、npm的安装

首先 npm是什么?

npm有两层含义

第一是npm这个开源的模块登记和管理系统,也就是这个站点:https://www.npmjs.com

第二个指的是 nodejs package manager 也就是nodejs的包管理工具。我们主要说的就是这一个。 在每个版本的nodejs中,都会自带npm,为了统一起见,我们安装一个全局的npm工具,这个操作很有必要,因为我们需要安装一些全局的其他包,不会因为切换node版本造成原来下载过的包不可用。

首先我们进入上面生成的nodejs文件夹中,打开cmd窗口,输入
npm config set prefix C:\dev\nvm\npm`

npm config set cache C:\dev\nvm\npm-cache

回车,这是在配置npm的全局安装路径,然后在用户文件夹下会生成一个.npmrc的文件,用记事本打开后可以看到如下内容:

prefix=C:\dev\nvm\npm

cache=C:\dev\nvm\npm-cache

然后继续在命令中输入: npm install npm -g 回车后会发现正在下载npm包,在C:\dev\nvm\npm目录中可以看到下载中的文件,以后我们只要用npm安装包的时候加上 -g 就可以把包安装在我们刚刚配置的全局路径下了。

我们为这个npm配置环境变量: 变量名为:NPM_HOME,变量值为 :C:\dev\nvm\npm

Path的最前面添加;%NPM_HOME%,注意了,这个一定要添加在 %NVM_SYMLINK%之前,所以我们直接把它放到Path的最前面

最后我们新打开一个命令窗口,输入npm -v ,此时我们使用的就是我们统一下载的npm包了。

同样的我们还可以安装cnpm工具,它是中国版的npm镜像库,地址在这里:https://cnpmjs.org/,也是npm官方的一个拷贝,因为我们和外界有一堵墙隔着,所以用这个国内的比较快,淘宝也弄了一个和npm一样的镜像库,http://npm.taobao.org/,具体怎么使用可以去这个网站看使用介绍,它和官方的npm每隔10分钟同步一次。安装方式:

npm install -g cnpm --registry=http://r.cnpmjs.org
或者用淘宝的npm install -g cnpm --registry=https://registry.npm.taoba.org
安装好了cnpm后,直接执行cnpm install 包名比如:cnpm install bower -g 就可以了。-g只是为了把包安装在全局路径下。如果不全局安装,也可以在当前目录中安装,不用-g就可以了。

npm常用操作

https://npmjs.com
安装一个包,npm install package_name
初始化操作,给项目添加一个配置文件,可以用npm init, 如果想使用默认的就用npm init --yes自动生成package.json默认配置。
卸载一个包,npm uninstall package_name

dependencies节点中 
+ --save-dev 
+ 项目依赖分两种,一个就是普通的项目依赖比如bootstrap,还有一

中只是开发阶段需要用的,这种属于开发依赖比如gulp,开发依赖最终

记录在devDependencies节点里面 
+ npm install xxx -g (全局安装包)

npm 查看包文件版本

npm view angular versions

三、nrm 的安装

什么是nrm?
nrm就是npm registry manager 也就是npm的镜像源管理工具,有时候国外资源太慢,那么我们可以用这个来切换镜像源。
我们只要通过这个命令: npm install -g nrm 就可以实现安装。
注意-g可以直接放到install的后面,我们以后也最好这样用,因为这样用,我们可以在cmd中上下箭头切换最近命令的时候,容易修改,更方便操作。安装完成后,我们就可以使用了。

命令:nrm ls 用于展示所有可切换的镜像地址
命令:nrm use cnpm 我们这样就可以直接切换到cnpm上了。当然也可以按照上面罗列的其他内容进行切换。

四、bower(web应用程序依赖项管理工具)

官网http://bower.io/
Bower can manage components that contain HTML, CSS, JavaScript, fonts or even image files. Bower doesn’t concatenate or minify code or do anything else - it just installs the right versions of the packages you need and their dependencies.
Bower就是用来管理项目中所有的依赖,主要用于Web页面开发时使用的包管理,比如jquery,bootstrap

Bower常用命令

1、初始化一个Bower的配置文件 --- $ bower init

2、安装一个包 --- $ bower install bootstrap

3、GitHub shorthand --- $ bower install desandro/masonry

4、Git endpoint --- $ bower install git://github.com/user/package.git

5、URL --- $ bower install http://example.com/script.js

6、安装一个包并将其添加到配置文件 --- $ bower install bootstrap --save

7、卸载一个包 --- $ bower uninstall bootstrap

8、更新所有的包 --- $ bower update

Bower配置文件

项目根目录

用户主目录


五、gulp

1、什么是gulp?

gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用它,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。
gulp是基于Nodejs的自动任务运行器, 它能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。通过本文,我们将学习如何使用Gulp来改变开发流程,从而使开发更加快速高效。
gulp 和 grunt 非常类似,但相比于 grunt 的频繁 IO 操作,gulp 的流操作,能更快地更便捷地完成构建工作。

gulp是引入开发过程中的一些小工具,生产模式不需要gulp

本示例以gulp-less为例(将less编译成css的gulp插件)展示gulp的常规用法,只要我们学会使用一个gulp插件后,其他插件就差看看其帮助文档了。让我们一起来学习gulp吧!

2、首先确保你已经正确安装了NODE环境,然后以全局方式安装gulp

  • npm install -g gulp
    全局安装完gulp后,还需要在每个要使用gulp的项目中单独安装一次,把目录切换到你的项目文件夹中,然后再命令行中执行
  • npm install gulp
    如果想在安装的时候吧gulp写进项目package.json文件的依赖中,则可以加上--save-dev gulp
  • npm install --save-dev gulp
    这样就完成了gulp的安装,接下来就可以在项目中应用gulp了

http://www.ydcss.com/archives/18 详细教程
http://zlwis.me/2016/02/24/%E5%9C%A8gulp%E4%B8%AD%E4%BD%BF%E7%94%A8browsersync/ browsersync使用
gulp是引入开发过程中的一些小工具,生产模式不需要gulp
http://www.gulpjs.com.cn/ 具体使用请看这个网站教程

3、在自己的项目目录下再安装一下gulp,并且写进package.json文件中,在项目目录下没有package.json需要先使用npm init --yes 添加package.json,然后在项目目录下shift+鼠标右击在此文件夹下打开命令窗口输入:npm install --save-dev gulp 。
在项目中打开命令窗口执行npm install,会自动去下载package.json里的依赖包。

gulp常用地址:

gulp官方网址:http://gulpjs.com
gulp插件地址:http://gulpjs.com/plugins
gulp 官方API:https://github.com/gulpjs/gulp/blob/master/docs/API.md
gulp 中文API:http://www.ydcss.com/archives/424

4、新建gulpfile.js文件(重要)

是位于项目根目录的普通js文件

(其实将gulpfile.js放入其他文件夹下亦可)。

它大概是这样一个js文件

(更多插件配置请[查看这里](http://www.ydcss.com/archives/tag/gulp)):

在gulpfile中写入我们需要做的任务,并且需要安装对应的插件,下面几个是

常用插件安装命令

Less编译成css:npm install gulp-less --save-dev

合并:npm install gulp-concat --save-dev

Js混淆:npm install gulp-uglify --save-dev

Css压缩:npm install gulp-cssnano --save-dev

Html压缩:npm install gulp-htmlmin --save-dev

浏览器同步刷新:npm install browser-sync --save-dev

5、运行gulp

说明:命令提示符执行gulp 任务名称;

编译less:命令提示符执行gulp testLess;

当执行gulp default或gulp将会调用default任务里的所有任务[‘testLess’,’elseTask’]。

6、在Gulp中使用BrowserSync

BrowserSync可以同时同步刷新多个浏览器,更神奇的是你在一个浏览器中滚动页面、点击按钮、输入框中输入信息等用户行为也会同步到每个浏览器中。

>安装browser-sync模块

- npm install browser-sync -g

命令行直接使用

- browser-sync start --server --files "css/*.css"

使用上面命令会开启一个迷你服务器,自动帮你打开浏览器,默认地址localhost:3000,默认打开index.html,如果没有,需要手动加上你要打开的页面,如localhost:3000/test.html。

通常你不会需要默认的地址,所以需要使用代理模式:

 - browser-sync start --proxy "localhost:8080" --files "css/*.css"

第210天:node、nvm、npm和gulp的安装和使用详解的更多相关文章

  1. gulp的安装以及使用详解,除了详细还是详细

    安装gulp: 1. 创建本地包管理环境: 使用npm init命令在本地生成一个package.json文件,package.json是用来记录你当前这个项目依赖了哪些包,以后别人拿到你这个项目后, ...

  2. Node.js在不同平台的安装方法步骤详解

    Mac平台下搭建node.js开发平台 安装方式 1 步骤: 下载mac版的.pkg文件(简单直接和Windows差不多) 安装方式 2 步骤: 安装xcode(命令:xcode-select --i ...

  3. node、npm、gulp安装

    1.先安装node.js ,官网下载地址:https://nodejs.org/en/ 2.安装完node之后,npm自动就安装了.可以直接在visual studio code 通过命令查看 nod ...

  4. nvm、nrm、npm 安装和使用详解

    一.nvm的安装和使用   nvm全称Node Version Manager是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换. nvm 的官方版本只支持 Linux ...

  5. node和npm版本引起的安装依赖和运行项目失败问题

    问题:node版本不同导致的安装依赖版本不同而无法启动 https://www.jianshu.com/p/c07293c8c6d4 实际上问题分为两个部分: 1,npm包管理器安装依赖不成功,此时需 ...

  6. [转] Node.js中package.json中库的版本号详解(^和~区别)

    当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~).那么他们到底有什么区别呢?先贴一个例子,对照例子来做解释: bl ...

  7. Node.js中package.json中库的版本号详解(^和~区别)

    当我们查看package.json中已安装的库的时候,会发现他们的版本号之前都会加一个符号,有的是插入符号(^),有的是波浪符号(~).那么他们到底有什么区别呢?先贴一个例子,对照例子来做解释: &q ...

  8. node、npm、gulp、bower、ionic下载及安装

    node: http://nodejs.cn/ npm: 随node一起安装了 gulp: http://www.gulpjs.com.cn/docs/getting-started/ bower: ...

  9. node nvm npm nrm 安装

    http://cnodejs.org/topic/57f628098489e7ca69f4e839 //1.vim ~./bashrc 文件 把那两行配置代码加进入,然后按步骤执行 //console ...

随机推荐

  1. 20155313 2016-2017-2 《Java程序设计》第九周学习总结

    20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...

  2. 百度地图Map属性和方法

    map的L属性:TANGRAM__1 map的F属性:[object Object] map的xa属性:[object HTMLDivElement] map的width属性:1340 map的hei ...

  3. python 多线程笔记(6)-- 闭包

    在类里弄一个闭包出来 很多资料上说,类内部的变量有两种. 按定义所在的位置,分__init__上方的和__init__下方的 按内存所在的位置,分类的和实例的,或者说公共的和私有的 现在,我想在类里定 ...

  4. 【LG3703】[SDOI2017]树点涂色

    [LG3703][SDOI2017]树点涂色 题面 洛谷 题解 更博辣,更博辣!!! 猪年的第一篇博客 一次只能染根到\(x\),且染的颜色未出现过 这句话是我们解题的关键. 设\(x\)到根的颜色数 ...

  5. 【redis的链接】redis的两种连接方法

    执行redis-server /etc/redis.conf开启服务 方法一: [root@zhangmeng ~]# redis-cli > > quit 方法二: [root@zhan ...

  6. 译图智讯VIN码识别助力汽配商转型升级

    汽配猫是上海佳驰经合能源科技有限公司自主开发的汽车配件B2B网上商城及服务平台,该平台依托互联网云技术.利用创新的商业模式及互联网思维,整合汽配产业链优秀资源,为汽车维修保养企业等产业链各方面提供汽配 ...

  7. Appium+python的单元测试框架unittest(4)——断言(转)

    (原文:https://www.cnblogs.com/fancy0158/p/10051576.html) 在我们编写的测试用例中,测试步骤和预期结果是必不可少的.当我们运行测试用例时,得到一个运行 ...

  8. boot,rebuild,resize,migrate有关的scheduler流程

    代码调用流程: 1. nova.scheduler.client.query.SchedulerQueryClient#select_destinations 2. nova.scheduler.rp ...

  9. 2019CSUST集训队选拔赛题解(三)

    PY学长的放毒题 Description 下面开始PY的香港之行,PY有n个要去的小吃店,这n个小吃店被m条路径联通起来. PY有1个传送石和n−1个传送石碎片. PY可以用传送石标记一个小吃店作为根 ...

  10. zabbix监控历史数据清理

    2018/12/24 14:00:57  zabbix监控运行一段时间以后,会留下大量的历史监控数据,zabbix数据库一直在增大:可能会造成系统性能下降,查看历史数据室查询速度缓慢. zabbix里 ...