【进阶系列】Node.js专题

1 环境搭建

1.1 WebStorm集成Node.js

Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)

http://www.cnblogs.com/shanyou/archive/2012/08/03/2620796.html

1.1.1 1.下载前期准备

node.js下载地址

http://nodejs.org/

1.1.2 2.配置与安装

网上有资源,我就不重复了

http://www.tuicool.com/articles/UnmaAn

1.1.3 3.创建一个简单的node.js工程

3.1 安装node.js

        安装刚才从官网下载的node.js的安装包后,安装的时候请按照默认路径来安装。

3.2 新建一个工程

3.3 配置node.js.exe 路径

        确定路径没错后,点击升级webstorm的支持node.js的插件

3.4 添加代码到工程

代码里面填写

console.log('hello world');

3.5 正式生成一个node.js项目

3.6 配置编译环境

3.7 运行node.js工程

        点击箭头执行。

2 开发使用

2.1 npm命令使用

nodejs npm常用命令

http://www.cnblogs.com/linjiqin/p/3765772.html

        npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。

2.1.1 npminstall

    1、npm install moduleNames:安装Node模块

        安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。

        node的安装分为全局模式和本地模式。

        一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地node_modules目录下。

        在全局模式下,Node包会被安装到Node的安装目录下的node_modules下。

         全局安装命令为$npm install -g moduleName。

        获知使用$npm set global=true来设定安装模式,$npm get global可以查看当前使用的安装模式。

        示例:

npm install express

        默认会安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6

npm install -g

        将包安装到全局环境中

        但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install --save

        安装的同时,将信息写入package.json中项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。

2.1.2 npmview

    2、npm view moduleNames:查看node模块的package.json文件夹

        注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用$npm view moduleName labelName

2.1.3 npmlist

    3、npm list:查看当前目录下已安装的node包

        注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。$ npm list parseable=true可以目录的形式来展现当前安装的所有node包;

    5、npm view moudleName dependencies:查看包的依赖关系

    6、npm view moduleName repository.url:查看包的源文件地址

    7、npm view moduleName engines:查看包所依赖的Node的版本

2.1.4 npmhelp

    4、npm help:查看帮助命令

    8、npm help folders:查看npm使用的所有文件夹

    13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:

$ npm help json

        此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

2.1.5 npmrebuild

    9、npm rebuild moduleName:用于更改包内容后进行重建

2.1.6 npmoutdated

    10、npm outdated:检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

2.1.7 npmupdate

    11、npm update moduleName:更新node模块

2.1.8 npmuninstall

    12、npm uninstall moudleName:卸载node模块

2.1.9 npmsearch

    14、发布一个npm包的时候,需要检验某个包名是否已存在

$ npm search packageName

2.1.10 npm init

    15、npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

2.1.11 npm root

    16、npm root:查看当前包的安装路径

npm root -g:查看全局的包的安装路径

2.1.12 npm -v

    17、npm -v:查看npm安装的版本

        更多命令请参看npm官方文档:https://www.npmjs.org/doc/

2.2 cnmp使用(淘宝镜像地址替换)

2.2.1 cnmp安装

        你可以使用我们定制的 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

2.2.2 安装模块

        从 registry.npm.taobao.org安装所有模块. 当安装的时候发现安装的模块还没有同步过来, 淘宝 NPM 会自动在后台进行同步, 并且会让你从官方NPMregistry.npmjs.org进行安装. 下次你再安装这个模块的时候, 就会直接从 淘宝 NPM 安装了.

$ cnpm install [name]

2.2.3 同步模块

        直接通过 sync 命令马上同步一个模块, 只有 cnpm 命令行才有此功能:

$ cnpm sync connect

        当然, 你可以直接通过 web 方式来同步:/sync/connect

$ open https://npm.taobao.org/sync/connect

2.2.4 其它命令

        支持 npm 除了 publish 之外的所有命令, 如:

$ cnpm info connect

3 参考链接

Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)

http://www.cnblogs.com/shanyou/archive/2012/08/03/2620796.html

搭建Node.js开发IDE环境WebStrom5多图

http://blog.csdn.net/youyudehexie/article/details/8542135

学习老外用webstorm开发nodejs的技巧--代码提示DefinitelyTyped

http://my.oschina.net/klausgao/blog/380351

node通过指令创建一个package.json文件及npm安装package.json

http://blog.csdn.net/liyanhui1001/article/details/44020235

企业级Node.js Web应用解决方案设计的零零总总

http://taobaofed.org/blog/2016/04/08/node-web-framework-design/?utm_source=tuicool&utm_medium=referral

淘宝首页性能优化实践

http://taobaofed.org/blog/2016/04/05/optimize-in-tbhome/

淘宝NPM镜像

https://npm.taobao.org

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 大家好,我是IT修真院深圳分院第3期的学员,一枚正直纯洁善良的前端程序员,今天给大家分享一下,修真院官网前端工程师...
    大大头大阅读 2,933评论 0 1
  • JavaScript 模块化编程 网站越来越复杂,js代码、js文件也越来越多,会遇到什么问题? 命名冲突; 文件...
    magic_pill阅读 1,406评论 0 1
  • 这样容易把人呛死的啊…… 请输入图片描述 这个是不是能吃? 请输入图片描述 这个戒指我能买的起 请输入图片描述 用...
    乐乐_d58b阅读 114评论 0 0