Windows Nodejs 安装教程

Windows Nodejs 安装教程

1: 访问官方地址 https://nodejs.org/en/download/

 2: 解压压缩包文件到指定目录

我直接把压缩包解压到C盘根目录下,并将文件夹重命名为nodejs

3: 设置系统的环境变量

NODEJS_HOME  =  C: odejs

PATH 中追加 %NODEJS_HOME%

NODE_EXE = %NODEJS_HOME% ode.exe

NPM_CLI_JS = %NODEJS_HOME% ode_modules pmin pm-cli.js

在nodejs的主目录下,创建 node_global 和 node_cache 两个文件夹。

创建完两个空文件夹之后,并设置环境变量。

NODE_GLOBAL = %NODEJS_HOME% ode_global

NODE_CACHE = %NODEJS_HOME% ode_cache

NODE_PATH = %NODE_GLOBAL% ode_modules

PATH 中追加 %NODE_GLOBAL%

打开cmd命令窗口,输入

npm config set prefix C: odejs ode_global
npm config set cache C: odejs ode_cache

调整其他环境变量设置

GIT_FOR_WIN_HOME = C:PortableGit

PATH 中追加 %GIT_FOR_WIN_HOME%;%GIT_FOR_WIN_HOME%in

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,使用命令行进入到该目录中,分别输入下面两个命令来安装NodeLodash的类型接口信息文件:

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目录中多了一些文件:

Typings Definition Files

这些文件就是为我们提供提示信息的类型类型文件(使用TypeScript定义)。查看Typings是否支持某个库或框架的智能提示,我们可以使用下面的命令:

typings search exampleName

启用智能提示功能

通过两种方式来启动提示功能:

  • 第一种是在需要进行智能提示的文件最上行增加提示信息文件所在目录,格式如下:
/// <reference path="./typings/main.d.ts" />

启用提示功能后我们就可以非常愉快的使用Visual Studio Code 为我们提供的智能提示功能了。如下所示:

IntelliSense VsCode

注意事项

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分钟 一次以保证尽量与官方服务同步。

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 cnpmjs.org-badge

  • <0.1.0 & >=0.0.0red-badge
  • <1.0.0 & >=0.1.0red-badge
  • >=1.0.0red-badge

使用说明

你可以使用我们定制的 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 '
#alias for cnpm
alias 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
原文地址:https://www.cnblogs.com/lsgxeva/p/7754365.html