node初始
### 一、什么是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初始的更多相关文章
- Node初始以及环境搭建(Node01)
1. 相关概念 •什么是JavaScript? •一种遵守ECMAScript标准的脚本语言 •最初只能运行在浏览器端 •浏览器中的 JavaScript 可以做什么? •操作DOM:表单验证.动画 ...
- 自己动手系列——实现一个简单的LinkedList
LinkedList与ArrayList都是List接口的具体实现类.LinkedList与ArrayList在功能上也是大体一致,但是因为两者具体的实现方式不一致,所以在进行一些相同操作的时候,其效 ...
- Trie树 字典树-学习笔记
字符串--蒟蒻永远的阴影 对于字符串匹配 KMP很好的解决了以一个文本串匹配一个模板串的问题 但如果模板串有多个呢 这是KMP不再适用 我们引入一个新的数据结构--字典树 (当然又有像AC自动机这样更 ...
- AbstractQueuedSynchronizer源码解读
1. 背景 AQS(java.util.concurrent.locks.AbstractQueuedSynchronizer)是Doug Lea大师创作的用来构建锁或者其他同步组件(信号量.事件等) ...
- PageRank算法实现
基本原理 在互联网上,如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高.这就是PageRank的核心思想. 引用来自<数学之美>的简单例子: 网页Y的排名应该 ...
- Python编写的记事本小程序
用Python中的Tkinter模块写的一个简单的记事本程序,Python2.x和Python3.x的许多内置函数有所改变,所以以下分为Python2.x和Python3.x版本. 一.效果展示: 二 ...
- 20-hadoop-pagerank的计算
转: http://www.cnblogs.com/rubinorth/p/5799848.html 参考尚学堂视频 1, 概念( 来自百度百科) PageRank是Google专有的算法,用于衡量特 ...
- kafka producer的batch.size和linger.ms
1.问题 batch.size和linger.ms是对kafka producer性能影响比较大的两个参数.batch.size是producer批量发送的基本单位,默认是16384Bytes,即16 ...
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
随机推荐
- Web站点错误提示页面和默认访问页面设置
1.asp.net 定制简单的错误处理页面 通常web应用程序在发布后,为了给用户一个友好界面和使用体验,都会在错误发生时跳转至一个自定义的错误页面,而不是asp.net向用户暴露出来的详细的异常列表 ...
- select选中获取索引三种写法
$('#someId').prop('selectedIndex'); $('option:selected', '#someId').index(); $('#someId option').ind ...
- 在MyEclipse 10中配置tomcat田服务器时出现的问题以及解觉办法
今天刚刚重装电脑,为了实训的一个项目要使用到MyEclipse开发工具但是在配置服务器之后运行时出现了问题 错误:java.lang.UnsupportedClassVersionError: org ...
- 【BZOJ2816】【ZJOI2012】网络(Link-Cut Tree)
[BZOJ2816][ZJOI2012]网络(Link-Cut Tree) 题面 题目描述 有一个无向图G,每个点有个权值,每条边有一个颜色.这个无向图满足以下两个条件: 对于任意节点连出去的边中,相 ...
- POJ 1087 A Plug for UNIX (网络流,最大流)
题面 You are in charge of setting up the press room for the inaugural meeting of the United Nations In ...
- SQL基础教程读书笔记-3
5 复杂查询 5.1 视图 1.表和视图的区别表:保存的是实际的数据视图:保存的是SELECT语句.从视图读取数据时,视图会在内部执行该SELECT语句并创建出一张临时表. 2.视图的优点① 无需保存 ...
- error:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
问题:调用的方法在一个接口类中,但我并没有注入那个被调用的类 解决:在UserEntity前加上@Autowired @Controller public class MainController { ...
- AndroidStudio Frameworks detected: Android framework is detected in the project Configure
出现这个问题应该是文件没有用正确的方式打开. 遇到这种情况,就要去检查下载的这个包的结构. 我的这个文件明显真正的是下面这个文件夹,如果把整个当做一个android文件打开会导致文件结 ...
- windows下远程访问Redis,windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,Windows Redis requirepass不生效,windows下远程访问redis的配置
转载:http://fanshuyao.iteye.com/blog/2384074 一.Redis下载地址: https://github.com/MicrosoftArchive/redis/re ...
- WordPress给网站添加支付宝捐赠功能
最开始是在陌小雨的博客上看见这个功能,其实一般个人网站都会添加这个功能,下面我会讲解两种,不多说,上图: 1.添加到网页中任何位置: 上图这个功能可以添加到网页中的任何位置,可以在文章中添加,也可以利 ...