Windows Nodejs 安装教程
Windows Nodejs 安装教程
1: 访问官方地址 https://nodejs.org/en/download/
2: 解压压缩包文件到指定目录
我直接把压缩包解压到C盘根目录下,并将文件夹重命名为nodejs
3: 设置系统的环境变量
NODEJS_HOME = C:\nodejs
PATH 中追加 %NODEJS_HOME%
NODE_EXE = %NODEJS_HOME%\node.exe
NPM_CLI_JS = %NODEJS_HOME%\node_modules\npm\bin\npm-cli.js
在nodejs的主目录下,创建 node_global 和 node_cache 两个文件夹。
创建完两个空文件夹之后,并设置环境变量。
NODE_GLOBAL = %NODEJS_HOME%\node_global
NODE_CACHE = %NODEJS_HOME%\node_cache
NODE_PATH = %NODE_GLOBAL%\node_modules
PATH 中追加 %NODE_GLOBAL%
打开cmd命令窗口,输入
npm config set prefix C:\nodejs\node_global
npm config set cache C:\nodejs\node_cache
调整其他环境变量设置
GIT_FOR_WIN_HOME = C:\PortableGit
PATH 中追加 %GIT_FOR_WIN_HOME%;%GIT_FOR_WIN_HOME%\bin
4: 测试安装npm扩展
npm install express -g
5: 前往淘宝镜像官网 http://npm.taobao.org/,可查看安装cnpm包的命令
在命令行输入:
npm install -g cnpm --registry=https://registry.npm.taobao.org
Typings实现智能
在Visual Studio Code中通过Typings实现智能提示功能
我们知道在IDE中代码的智能提示几乎都是标配,虽然一些文本编辑器也有一些简单的提示,但这是通过代码片段提供的。功能上远不能和IDE相比。不过最近兴起的文本编辑器的新锐 Visual Studio Code 可以通过 Typings
来对 JavaScript
实现智能提示功能,对于一个文本编辑器来说,这点很难得。所以Visual Studio Code 特别适合用来编写 JavaScript
(Node.js
)程序; 同时,如果我们需要编写一些尝试性的小代码片段,例如:Lodash.js
某个函数的小Demo,因为我们不想研究一个函数的使用方式而去使用IDE新建一个项目,这时候Visual Studio Code 就是一个非常好的选择,而且它同样可以运行和调试 JavaScript
代码(依赖于 Node.js
),并且还包含非常方便的代码提示功能。
从这点来说,我觉得Visual Studio Code 已经算得上是一个精悍的小型IDE了。
通过NPM安装Typings
通过 NPM
我们可以很容易的安装 Typings
,在命令行中输入:
npm install -g typings
安装完成后,在命令行中输入:
typings --version
看到版本信息就表示 typings
工具安装完成了:
NPM
是和Node.js
一起安装的,如果你想使用NPM
的话,那么你应该先安装Node.js
。
安装相关提示信息文件
安装完成后,我们需要安装相应的需要提示功能库或者框架的类型信息文件,在这里我们新建一个文件夹 NodeSnippet
,使用命令行进入到该目录中,分别输入下面两个命令来安装Node
和Lodash
的类型接口信息文件:
typings install node --ambient --save
typings install lodash --save
什么时候需要使用 --ambient
参数:
- 如果安装的包使用
script
标记来引用(如jQuery)(也就是在浏览器中使用)- 这个包是属于环境的一部分(如
node
)时- 该包没有使用
--ambient
安装失败时
使用typings拓展自动补全功能
The answer is here: https://github.com/typings/typings/releases/tag/v1.0.0
TLDR: --ambient
has changed to --global
UPDATE From comment below
You need to specify the repository too e.g.:
typings install dt~moment-timezone --global
typings install dt~node --global
typings install dt~express --global
typings install dt~lodash --global
typings install dt~express dt~serve-static dt~express-serve-static-core --global
关于typings的其他相关.
基本用法
语法复制自typings的Quick Start,个人对注释本地化了一下。
# 安装Typings的命令行代码.
npm install typings --global
# 搜索对应模块的typings定义.
typings search tape
# 根据名称寻找一个可获得的typings定义.
typings search --name react
# 如果你用一个独立包的模块:
# 或者并不是安装全局模块
# 比如并不是在命令行通过输入npm install -g typings这种方式安装的.
typings install debug --save
# 如果是通过script标记
# 或者是子环境的一部分
# 或者全局typings命令不可用的时候:
typings install dt~mocha --global --save
# 从其他版本处安装typings定义(比如env或者npm).
typings install env~atom --global --save
typings install npm~bluebird --save
# 使用该文件`typings/index.d.ts` (在`tsconfig.json`文件使用或者用 `///` 定义).
cat typings/index.d.ts
这时候我们可以看到我们的 NodeSnippet
目录中多了一些文件:
这些文件就是为我们提供提示信息的类型类型文件(使用TypeScript
定义)。查看Typings
是否支持某个库或框架的智能提示,我们可以使用下面的命令:
typings search exampleName
启用智能提示功能
通过两种方式来启动提示功能:
- 第一种是在需要进行智能提示的文件最上行增加提示信息文件所在目录,格式如下:
/// <reference path="./typings/main.d.ts" />
第二种是在项目所在目录(在这里是
NodeSnippet
文件夹中)增加一个名为jsconfig.json
的空文件。更多
jsconfig.json
文件的内容可以参考:https://code.visualstudio.com/docs/languages/javascript
启用提示功能后我们就可以非常愉快的使用Visual Studio Code 为我们提供的智能提示功能了。如下所示:
注意事项
Typings VS TSD
Typings
是作为TSD
的替代者而出现的,如果你已经安装了TSD
,那么需要知道现在TSD
已经不推荐使用了。如果已经安装TSD请执行下面的命令来移除它:
npm rm -g tsd
使用 CNPM
在国内由于墙
的原因,有时候使用NPM
安装模块的速度上会很慢,这时候我们其实可以选择国内淘宝的NPM
镜像,使用下面的命令来进行安装:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装完成后使用cnpm
来代替npm
命令即可,例如下面安装一个lodash
模块的示例:
cnpm install lodash
可以看到除了cnpm
替代了npm
其他的并没有任何区别。
参考&进一步阅读
https://github.com/typings/typings
https://code.visualstudio.com/docs/languages/javascript
https://npm.taobao.org/
npm install 本地安装与全局安装的区别
npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如
npm install grunt # 本地安装
npm install -g grunt-cli # 全局安装
这两种安装方式有什么区别呢?从npm官方文档的说明来看,主要区别在于(后面通过具体的例子来说明):
本地安装
1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)
2. 可以通过 require() 来引入本地安装的包
全局安装
1. 将安装包放在 /usr/local 下
2. 可以直接在命令行里使用
本地安装
1、将安装包放在 ./node_modules 下(运行npm时所在的目录)
比如运行下面命令
npm install grunt --save-dev
那么,就会在当前目录下发现一个node_modules目录,进去后能够看到grunt这个包
casperchenMacBookPro:testUsemin casperchen$ ll
total 200
drwxr-xr-x 16 casperchen staff 544B 12 14 23:17 node_modules
进入node_modules
casperchenMacBookPro:node_modules casperchen$ ll
total 0
drwxr-xr-x 16 casperchen staff 544B 12 5 00:49 grunt
2、可以通过 require() 来引入本地安装的包
直接来个例子,我们在项目根目录下创建test.js,里面的内容很简单
var grunt = require('grunt');grunt.log.writeln('hello grunt');
然后在控制台运行test.js
node test.js
然后就会看到如下输出
casperchenMacBookPro:testUsemin casperchen$ node test.js
hello grunt
全局安装
1、将安装包放在 /usr/local 下
运行如下命令
npm install -g grunt-cli
然后进入/usr/local/bin目录,就会发现grunt-cli已经被放置在下面了
casperchenMacBookPro:bin casperchen$ pwd
/usr/local/bin
casperchenMacBookPro:bin casperchen$ ll grunt
lrwxr-xr-x 1 root admin 39B 8 18 21:43 grunt -> ../lib/node_modules/grunt-cli/bin/grunt
可见,全局模块的真实安装路径在/usr/local/lib/node_modules/下,/usr/local/bin下的可执行文件只是软链接而已
2、可以直接在命令行里使用
实现细节在上面其实就讲到了,通过在`/usr/local/bin下创建软链接的方式实现。这里不赘述
更直观的例子
下面就直接看下,当我们在项目目录下运行grunt task(task为具体的grunt任务名,自行替换)时,发生了什么事情。这里要借助node-inspector。
首先,没接触过node-inspector的童鞋可以参考之前的文章了解下
运行如下命令开启调试
node-inspector &
见到如下输出
casperchenMacBookPro:tmp casperchen$ node-inspector &
[1] 14390
casperchenMacBookPro:tmp casperchen$ Node Inspector v0.6.1
info - socket.io started
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
接着,在当前任务下运行grunt任务
^CcasperchenMacBookPro:testUsemin casperchen$ node --debug-brk $(which grunt) dev
debugger listening on port 5858
接着,打开chrome浏览器,输入网址http://127.0.0.1:8080/debug?port=5858,就会自动进入断点调试状态。从一旁显示的tiPS可以看到,全局命令grunt其实就是/usr/local/lib/node_modules/grunt-cli/bin/grunt
按下F8接着往下跑,就会进如Gruntfile.js,此时的grunt,是本地安装的一个node包。全局命令跟本地的包名字一样,挺有迷惑性的。
淘宝 NPM 镜像 http://npm.taobao.org/
这是一个完整 npmjs.org
镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
- 当前 registry.npm.taobao.org 是从 r.cnpmjs.org 进行全量同步的.
- 当前 npm.taobao.org 运行版本是: cnpmjs.org@3.0.0-alpha.15
- 本系统运行在 Node.js@v6.11.2 上.
- 开源镜像: http://npm.taobao.org/mirrors
- Node.js 镜像: http://npm.taobao.org/mirrors/node
- alinode 镜像: http://npm.taobao.org/mirrors/alinode
- phantomjs 镜像: http://npm.taobao.org/mirrors/phantomjs
- ChromeDriver 镜像: http://npm.taobao.org/mirrors/chromedriver
- OperaDriver 镜像: http://npm.taobao.org/mirrors/operadriver
- Selenium 镜像: http://npm.taobao.org/mirrors/selenium
- Node.js 文档镜像: http://npm.taobao.org/mirrors/node/latest/docs/api/index.html
- NPM 镜像: https://npm.taobao.org/mirrors/npm/
- electron 镜像: https://npm.taobao.org/mirrors/electron/
- node-inspector 镜像: https://npm.taobao.org/mirrors/node-inspector/
575,943 | 个模块 | 4,104,362 | 个模块版本 | 11 | 次删除 |
1,863,585 | 次本日下载 | 1,863,585 | 次本周下载 | 95,738,460 | 次本月下载 |
3,038,509 | 次昨日下载 | 24,241,361 | 次上周下载 | 118,008,975 | 次上月下载 |
同步状态
This registry will sync all packages from official registry.
上次同步完成时间: Mon Oct 30 2017 14:24:51 GMT+0800 (中国标准时间)
共 47 个模块需要同步 | 剩余 4 个模块待同步 | 已完成 91% |
已同步完成了 43 个模块 | 其中 0 个模块同步失败 | 最近同步成功的模块是: unlace |
Version Badge
Default style is flat-square
.
Badge URL: https://npm.taobao.org/badge/v/cnpmjs.org.svg
<0.1.0 & >=0.0.0
:<1.0.0 & >=0.1.0
:>=1.0.0
:
使用说明
你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm
:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
或者你直接通过添加 npm
参数 alias
一个新命令:
alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"
# Or alias it in .bashrc or .zshrc
$ echo '\n#alias for cnpm\nalias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"' >> ~/.zshrc && source ~/.zshrc
安装模块
从 registry.npm.taobao.org 安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方 NPM registry.npmjs.org 进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.
$ cnpm install [name]
同步模块
直接通过 sync
命令马上同步一个模块, 只有 cnpm
命令行才有此功能:
$ cnpm sync connect
当然, 你可以直接通过 web 方式来同步: /sync/connect
$ open https://npm.taobao.org/sync/connect
其它命令
支持 npm
除了 publish
之外的所有命令, 如:
$ cnpm info connect
Windows Nodejs 安装教程的更多相关文章
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
- Windows 7安装教程(详细图解)
早前向大家介绍了Windows XP的安装教程,今天思齐再来介绍一下Windows 7的安装教程,Windows 7在安装上相对以前的Windows操作系统都要简单一些,这一点对于尤其是非专业用户来说 ...
- nodejs安装教程
http://www.runoob.com/nodejs/nodejs-install-setup.html nodejs官方下载,之后配置环境path,npm随着nodejs安装,自动安装 查看no ...
- python MySQLdb Windows下安装教程及问题解决方法(python2.7)
使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装http://www.jb51.net/article/6574 ...
- gitHub使用入门和github for windows的安装教程
在看这篇教程之前我想大家也在搜索怎样使用gitHub托管自己的项目,在使用gitHub之前我也遇到过各种问题,在网上我也搜索了很多,但总觉得网上搜索到的东西很多很杂,有的根本不知道是在表达什么.在这过 ...
- Windows 服务安装教程
一.安装服务1.已管理员的身份启动CMD2.输入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 回车3.输入 InstallUtil.exe Win ...
- MySQL 在 Windows 下安装教程、避坑指南
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,2008 年被 SUN 公司收购,后 SUN 公司又被 Oracle 公司收购. 一.下载 MySQL 官网 https:/ ...
- 数据库 MySQL:Windows 环境安装教程
1. 双击 MySQL 安装包,出现安装界面,选择“next” 2. 勾选接受协议,点击“next” 3. 安装类型选择自定义“Custom”,点击“next” 4. 选择安装路径,点击“next” ...
- git Windows终端安装教程
1.下载网址:https://gitforwindows.org/ 2.双击压缩包出现: 3.点击下一步后,选择安装路径: 根据自己的需求选择路径 4.选择安装的组件,建议全选 [每一条解析:] Ad ...
随机推荐
- 谈一谈synchronized关键词
1.使用 java中的每一个对象都可以作为synchronized的锁进行代码同步,常见的形式 同步代码块锁是synchronized括号内的对象 普通成员方法上,锁是当前的对象,synchroniz ...
- ACM学习之路___HDU 2066 一个人的旅行
Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还 ...
- SAP Gateway简介
SAP Gateway在S4/HANA时代的ABAP开发模型中有着重要的地位.SAP Gateway是什么?它对ABAP开发有怎样的影响?可以为我们提供哪些方便?这篇译文将浅要地讨论这些话题. SAP ...
- Python NLP入门教程
本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库.NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库. 什么是NLP? 简单来说,自然 ...
- 变量的声明和定义以及extern的用法
变量的声明和定义以及extern的用法 变量的声明不同于变量的定义,这一点往往容易让人混淆. l 变量 ...
- Hive基础(3)---Fetch Task(转)
我们在执行hive代码的时候,一条简单的命令大部分都会转换成为mr代码在后台执行,但是有时候我们仅仅只是想获取一部分数据而已,仅仅是获取数据,还需要转化成为mr去执行吗?那个也太浪费时间和内存啦,所以 ...
- JSP入门 el表达式
我们已经知道el是jsp-2.0规范的一部分,tomcat-5.x版本以上都已经能够支持jsp-2.0规范,但在更低版本的tomcat和webphere,weblogic中还是无法使用这一便捷方式. ...
- 【笔记】php常用函数
phpusleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sleep_unti ...
- S2_OOP第一章
面向对象设计的过程就是抽象的过程 步骤: 第一步:发现类 第二步:发现类的属性 第三步:发现类的方法 抽象是遵循的原则 属性和方法的设置是为了解决业务问题 关注主要属性和方法 如果没有必要,不增加额外 ...
- ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQL
之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据.本章将介绍如何使用My SQL来完成数据管理. 在使用My SQL之前需确保开发环境中安装了My SQL数据库和Con ...