赞
踩
目录
Node.js是JavaScript语言的服务器运行环境。
javaScript语言本身是完善的函数式语言,在前端开发时,开发人员往往写得比较随意,让人感觉JavaScript就是个“玩具语言”。无法像其他编程语言一样满足工程的需要。
但是,在Node环境下,通过模块化的JavaScript代码,加上函数式编程,并且无需考虑浏览器兼容性问题,直接使用最新的ECMAScript 6标准,可以完全满足工程上的需求。
Node.js 适合以下场景:
1、实时性应用,比如在线多人协作工具,网页聊天应用等。
2、以 I/O 为主的高并发应用,比如为客户端提供 API,读取数据库。
3、流式应用,比如客户端经常上传文件。
4、前后端分离。
npm(即 node package manager )是Node
的包管理工具,能解决NodeJS代码部署上的很多问题npm里面有接近60万个别人已经写好的包,到目前为止,npm差不多收集了60万个别人写好的包,其实每个包就是一个功能,一个需求,npm里面有关于创建服务器的包,启动电脑摄像头的包,如果正好我们有这些需求,那么我们就没必要自己去写代码,完全可以用别人已经写好的包
npm是随同Nodejs一起安装的包管理工具,能解决Nodejs代码部署上的很多问题,常见的使用场景有以下几种:
由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入
" npm -v " 来测试是否成功安装。
命令如下,出现版本提示表示安装成功:
如果安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下:
c:\ npm install npm -g
npm 的包安装分为本地安装(local)、全局安装(global)两种,
命令如下:
- npm install express //本地安装
-
- npm install express -g //全局安装
如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解决办法为:
$ npm config set proxy null
(1)本地安装
(2)全局安装
如果你希望具备两者功能,则需要在两个地方安装它或使用 npm link。
1、cnpm 的官方介绍是:cnpm是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。既然都一样,那么cnpm为什么要出现呢?
由于npmjs.org的服务器在国外(即在“墙”外),国(墙)内开发者做项目的时候,很多“包”的下载速度极慢,在这种环境下阿里巴巴为了众多开发者的便捷便挺身而出推出了淘宝镜像(即cnpm),它把npm官方的“包”全部搬到国内,供广大开发者使用。
官网地址为: http://npm.taobao.org
使用淘宝镜像的命令: npm install -g cnpm --registry=https://registry.npmmirror.com
2、安装cnpm,使用命令 npm install cnpm -g --registry=https://registry.npm.taobao.org 安装完成后用 cnpm -v 查看是否安装成功
3、cnpm的使用方法和npm完全一致,只需要把npm改成cnpm即可
Node应用是由模块组成,遵循的是CommonJS模块规范
CommonJS 是一套代码规范, 目的是为了构建 JavaScript 在浏览器之外的生态系统 (服务器端, 桌面端).
通过该规范使JavaScript具备开发复杂应用、跨平台的能力
CommonJS模块规范化的内容
(1)导出模块:moudle.exports 导出模块
(2)导入模块:require('模块名称')
每个导出的模块都有一个moudle对象,该对象包含的属性有:
这等同在每个模块头部,有一行这样的命令。
var exports = module.exports;
导入并执行一个JavaScript文件,返回的是一个exports对象,若没有找到相应的对象就报错
(1)模块输出是一个函数,则该函数的输出接口不能用exports变量来导出,必须用户moudle.exports导出
(2)加载规则:
A、用来加载js文件,默认的文件扩展名为.js
- var foo = require('foo');
- // 等同于var foo = require('foo.js');
B、根据参数的不同格式,去不同路径下查找相应的js文件
'./(../)':表示加载路径是相对路径
'/':表示加载路径是绝对路径
既不是'./(../)'也不是'/':表示加载的模式是node的核心模块,在node安装路径的node_modules中
(3)require的内部处理的流程
require -->module.exports-->moudle._load
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。