Node.js 学习笔记(一)--------- Node.js的认识和Linux部署
Node.js
一、Node.js 简介
简单的说 Node.js 就是运行在服务端的可以解析并运行 JavaScript 脚本的软件。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
二、Node.js 的特点
1. 单线程 :不同于 Apache 服务器的多线程处理请求特点,这也决定了它可以已极低的内存消耗进行单线程处理更多的请求。
2. 异步非阻塞 I / O ;
3. 事件驱动;
4. npm 包管理工具;
5. 稳定性较差。
三、Linux系统中的安装使用
1. 下载
官方网址 : https://nodejs.org/en/
中文网址 : http://nodejs.cn/
2. 解压
tar -xf node-v6.11.0-linux-x64.tar.xz
3. 移动
mv node-v6.11.0-linux-x64 /usr/local/node
4. 配置
环境变量
vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/node/bin
5. 刷新
source ~/.bash_profile
6. 查看版本信息
node -v
npm -v
四、基本使用
我们在服务器端编写 js 脚本,使用 node.js 输出 Hello World
// 1. 引入 node 内置的 http 模块儿
var http = require('http'); // 2. 创建服务
var server = http.createServer(function(req, res)
{
// 逻辑代码 并给客户端返回结果 // 快速结束响应
res.end('hello world');
}); // 3. 监听端口
server.listen(8080);
五、npm 包管理工具的使用方法
npm
简介
可以理解为一个包依赖管理工具,好比360软件官家。
https://www.npmjs.com/
使用
1.初始化 npm
npm init --yes
2.查找软件
npm search formidable
3.安装软件
(1)记录安装信息(生产环境使用)
这样安装会生成 package.json 文件,包含项目中安装的node_models
便于转移项目。
npm install formidable --save
package.json 文件内容示例:
{
"dependencies": {
"ejs": "^2.5.6",
"express": "^4.15.3"
}
}
(2)不记录安装信息
npm install formidable
4.移除软件
npm uninstall fomidable
5.查看已经安装的包列表
npm list
6.配置中文镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
配置后,安装模块,删除模块使用cnpm 调用命令
7.模块的使用
模块的加载机制
路径
绝对路径
相对路径
模块的使用
npm init --yes
npm install formidable
删除 node_modules
npm uninstall formidable
Node.js 学习笔记(一)--------- Node.js的认识和Linux部署的更多相关文章
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- Node.js学习笔记(1) - Node.js简介
近期在看一些Node.js的知识,看完后觉得,一些前面的东西忘记了,于是整理一下,方便自己查阅,也希望对学习Node.js的朋友有些帮助: 当然以下只是我个人的观点和理解,不喜勿喷,也望大神指教. 一 ...
- Node.js学习笔记(2) - Node.js安装及入门hello world
今天来简单的记录一下Node.js的安装配置以及简单的入门 一.Node.js的安装 1.windows下的安装 windows下的安装很简单,只需要去官网http://nodejs.org中,找到w ...
- Node.js学习笔记(八) --- Node.js的路由模块封装
1 .模块化的方式封装 整理中… 2 .封装仿照 express 的路由整理中…
- Node.js学习笔记(七) --- Node.js的静态文件托管、路 由、EJS 模板引擎、GET 、POST
1 . Nodejs 静态文件托管静态 web 服务器封装 2 . 路由 官方解释: 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的, ...
- JS学习笔记(模态框JS传参)
博主最近基于django框架的平台第一版差不多完成了 今天整理下开发过程中遇到的前端知识 基于前端bootstrap框架模态框传参问题 上前端html代码: <div class="m ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习笔记(3):NPM简明教程
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
随机推荐
- 【OpenCV3】直线拟合--FitLine()函数详解
一.FitLine()函数原型 CV_EXPORTS_W void fitLine( InputArray points, // 待输入点集(一般为二维数组或vector点集) OutputArray ...
- [原创]PHP使用Redis实现Session共享
目录 前言 设计方案 1. 通过php自身session配置实现 2. 设置用户自定义会话存储函数 前言 小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服 ...
- 基于Allwinner的Audio子系统分析(Android-5.1)
前言 一直想总结下Audio子系统的博客,但是各种原因(主要还是自己懒>_<),一直拖到现在才开始重新整理,期间看过H8(Android-4.4),T3(Android-4.4),A64( ...
- start and end call use itelephony and how to pick up a call
Bluetooth Headset service: 但想想而已. 没有蓝牙耳机如何调用它来接听电话.想想有点搞笑. 网上扒的通过添加一个ITelephony.aidl来反射,注意aidl的写法,如果 ...
- redis之 集群配置(主从复制)
集群的作用: 集群的方式有二种: 第二种的好处是:master宕机以后可以直接切换到slave1 主从通信的过程 先通过dump导出大块的rdb 然后把aof缓冲过来,然后通过replicationf ...
- redis 持久化之 rdb 快照持久化
解释1: 虽然redis是单进程,但是它有一个单独的子进程进行rdb操作,为了保证的数据的一致性,当进行rdb操作失败的时候,主进程就停止写入 所以才有了stop-write-on-bgsave-er ...
- Mac版sublime text右键open in browser 不能识别中文名解决办法
问题描述: Mac下sublime text下打开中文命名的html文件,右键open in browser,浏览器无反应. 解决思路: 要么适应软件,要么改进软件来适应. 1. 将中文名的html ...
- Javac之关于方法的选择
15.12. Method Invocation Expressions 15.12.1. Compile-Time Step 1: Determine Class or Interface to S ...
- python-单链表的实现
#!/usr/bin/python class Node(object): def __init__(self,value,next=None): self.value,self.next=value ...
- AngularJS 的常用特性(三)
6.表达式 在模板中使用表达式是为了以充分的灵活性在模板.业务逻辑和数据之间建立联系,同时又能避免让业务逻辑渗透到模板中. <div ng-controller="SomeContr ...