- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Node js 初步学习
Node.js 之初步了解
javascript
node.js
*
* Node.js 出现历史和历程
*
* io.js 出现
* Node.js 安装与配置
*
* npm 模块管理器
* npm 镜像-cnpm
* 文本编辑器和IDE
* 模块
*
* 使用模块
*
* require()引入模块
* 被引入模块对外输出变量
* commonJS 规范
* 深入了解模块原理
*
* module.exports 和 exports
Node.js 出现历史和历程作者是Ryan Dahl,之前工作是用C/C 写高性能Web 服务。高性能来
讲,异步、事件驱动是基础,而用C/C 写很痛苦。其观察了很多高级语言(都提供同步IO 和
异步IO),最后选择Javascript(因为是单线程)。它改造了开放源码的V8 引擎而推出了开源
web 服务器项目,命名为Node.js。
node.js 优点:
* 结合js 的事件驱动机制和高性能V8 引擎
*js 本身是函数式编程,node.js 无需考虑浏览器兼容性问题,直接使用最新ECMA6 标
准
io.js 出现由于Node.js 一直由Joyent 公司资助,而有些社区开发者由于理念问题,在2014
年从node.js 项目fork 出了io.js,但是两者完全兼容。
后来两者和解,io.js 又回归node.js。具体做法是io.js 将最先添加新的特性,相当于尝鲜版,
而node.js 是线上稳定版本。
Node.js 安装与配置window 下安装配置Node.js 和npm 非常简单,傻瓜式安装即可。
npm 模块管理器npm 两层含义,一层是Node 的开放式模块登记和管理系统。也是Node 默
认的模块管理器 (命令行下的软件),用来安装和管理Node 模块。
npm 镜像-cnpm 因为伟大的防火墙存在,我们直接使用npm 下载安装会很慢,所以我们直
接使用设置npm 镜像,这里选择了淘宝的cnpm。命令是类似的。
文本编辑器和IDE 文本编辑器我使用了习惯使用的sublime text3 或者Atom.
而第三方 IDE 我使用了microsoft 的visual studio code.主要原因是它是精简版的迷你visual
studio,并且支持跨平台。
模块高级语言都基本使用了模块的思想,无论是Java,还是Python.都有类似的思想实践。而
模块的好处很多,比如提高可维护性,减少命名冲突等等。
在Node 的环境中,将每个.js 文件当做一个module。
那么我们会在这里简单问几个问题:
1.node.js 的模块是如何使用的呢?有几种方法呢?
2.模块引入的实现原理是什么呢?
使用模块
//hello.js
use strict;
var s = hello;
function greet(name) {
console.log(s+, +name+!);
}
module.exports = greet;//第一种写法
exports.greet = greet;//第二种写法
//调用模块
use strict;
vargreet = require(./hello);
greet(Michael);
上面的两个js 文件就是简单的模块使用。下面来一一简单介绍。
require()引入模块在Node.js 中我们使用require()方法来引入模块,我们通常的用法是传递一
个相对路径(就是引入模块相对于当前模块的路径)。
如果我们只传递模块名:
vargreet = require(hello);
那么Node 会有很复杂的模块查找机制。
具体了解可看:深入Node.js 的模块机制
被引入模块对外输出变量两种方法:
module.exports = variable
exports.variable = object
具体为什么在下一节讲。
commonJS 规范Node 应用由模块构成,这是采用的CommonJS 的模块规范。
深入了解模块原理首先我们得知道
文档评论(0)