### 一、什么是node.js



> Node是一个基于 Chrome V8 引擎的 JavaScript 运行环境

>

> Node使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效

>

> Node.js 的包管理器 npm,是全球最大的开源库生态系统



### 二、node.js能做哪些事



1. 处理文件与数据库

2. 与互联网进行沟通,以标准化的格式处理请求并发送回答(处理客户端请求)

3. 用来执行编译 CSS 预编译语言、预编译、压缩、混淆 JS、压缩图片、reload、deploy 等工程化任务



### 三、node.js的优点



1. 处理高并发场景性能更高



   Java    1G   服务器  每个客户端连接耗费2M资源  1024=2^10  



   node  1G   服务器



2. 采用事件驱动、异步编程,为网络服务而设计



3. 轻量高效,运行速度是PHP的86倍



4. 包和模块



5. 便于前端学习



### 四、使用node.js



##### 安装



> node官网  https://nodejs.org



> node中文网  http://nodejs.cn



```javascript

node -v //查看版本,检测安装是否成功

```



##### 运行



```javascript

node index //文件名,后缀.js可写可不写

```



### 五、node.js模块



##### 核心模块



os、http、fs等



##### 自定义模块



exports、module.exports、require



##### 第三方模块



nodemon、cheerio等,需要在命令行中执行 `npm install 模块名称`



模块之间不能循环依赖



npm



> 是一个包管理工具



> 是仓库



> 是网站



##### nrm



npm install nrm -g



nrm ls











##### yarn







````javascript

yarn add package == npm install package --save

yarn add package -dev == npm install package --save-dev



yarn update package == npm updata package



yarn remove package == npm uninstall package



````







**用node服务器做一个中间层**

**前端 -> node服务器 -> JAVA服务器**











#####npm上传自己的模块包



1. 注册用户

2. 在本地新建一个项目

3. 使用 npm init -y初始化项目

4. npm adduser  输入用户名密码

5. npm  publish

node初始的更多相关文章

  1. Node初始以及环境搭建(Node01)

    1. 相关概念 •什么是JavaScript? •一种遵守ECMAScript标准的脚本语言 •最初只能运行在浏览器端 •浏览器中的 JavaScript 可以做什么? •操作DOM:表单验证.动画 ...

  2. 自己动手系列——实现一个简单的LinkedList

    LinkedList与ArrayList都是List接口的具体实现类.LinkedList与ArrayList在功能上也是大体一致,但是因为两者具体的实现方式不一致,所以在进行一些相同操作的时候,其效 ...

  3. Trie树 字典树-学习笔记

    字符串--蒟蒻永远的阴影 对于字符串匹配 KMP很好的解决了以一个文本串匹配一个模板串的问题 但如果模板串有多个呢 这是KMP不再适用 我们引入一个新的数据结构--字典树 (当然又有像AC自动机这样更 ...

  4. AbstractQueuedSynchronizer源码解读

    1. 背景 AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer)是Doug Lea大师创作的用来构建锁或者其他同步组件(信号量.事件等) ...

  5. PageRank算法实现

    基本原理 在互联网上,如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高.这就是PageRank的核心思想. 引用来自<数学之美>的简单例子: 网页Y的排名应该 ...

  6. Python编写的记事本小程序

    用Python中的Tkinter模块写的一个简单的记事本程序,Python2.x和Python3.x的许多内置函数有所改变,所以以下分为Python2.x和Python3.x版本. 一.效果展示: 二 ...

  7. 20-hadoop-pagerank的计算

    转: http://www.cnblogs.com/rubinorth/p/5799848.html 参考尚学堂视频 1, 概念( 来自百度百科) PageRank是Google专有的算法,用于衡量特 ...

  8. kafka producer的batch.size和linger.ms

    1.问题 batch.size和linger.ms是对kafka producer性能影响比较大的两个参数.batch.size是producer批量发送的基本单位,默认是16384Bytes,即16 ...

  9. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

随机推荐

  1. HTML5中的checkbox

    HTML5中的checkbox 1.选中checkbox (1)<input type="checkbox" checked/> (2)<input type=& ...

  2. GitHub 错误解决

    1. The file will have its original line endings in your working directory. git config --global core. ...

  3. Java并发编程笔记4-线程池

    我们使用线程的时候就去创建一个线程,但是就会有一个问题: 如果并发的线程数量非常多,而且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会导致大大降低系统的效率,因为频繁创建线程和销毁线 ...

  4. dom文档对象模型图

  5. 【BZOJ3931】【CQOI2015】网络吞吐量(最短路,网络流)

    [BZOJ3931][CQOI2015]网络吞吐量(最短路,网络流) 题面 跑到BZOJ上去看把 题解 网络流模板题??? SPFA跑出最短路,重新建边后 直接Dinic就行了 大火题嗷... #in ...

  6. WPF自学入门(五)WPF依赖属性

    在.NET中有事件也有属性,WPF中加入了路由事件,也加入了依赖属性.最近在写项目时还不知道WPF依赖属性是干什么用的,在使用依赖项属性的时候我都以为是在用.NET中的属性,但是确实上不是的,通过阅读 ...

  7. (1)Deep Learning之感知器

    What is deep learning? 在人工智能领域,有一个方法叫机器学习.在机器学习这个方法里,有一类算法叫神经网络.神经网络如下图所示: 上图中每个圆圈都是一个神经元,每条线表示神经元之间 ...

  8. 初探WebSocket

    初探WebSocket node websocket socket.io 我们平常开发的大部分web页面都是主动'拉'的形式,如果需要更新页面内容,则需要"刷新"一个,但Slack ...

  9. Spring任务调度定时器

    1.在spring-context.xml配置 <!-- 计划任务配置,用 @Service @Lazy(false)标注类,用@Scheduled(cron = "0 0 2 * * ...

  10. Android 视频展示控件之 SurfaceView、GLSurfaceView、SurfaceTexture、TextureView 对比总结

    一.SurfaceView SurfaceView继承自View,并提供了一个独立的绘图层,你可以完全控制这个绘图层,比如说设定它的大小,所以SurfaceView可以嵌入到View结构树中,需要注意 ...