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,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...
随机推荐
- Wi-Fi科普讲稿
Wi-Fi 从入门到?? 组员:deleted 什么是Wi-Fi Wi-Fi 在中文里又称作"无线热点",是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 80 ...
- 云服务器、vps、虚拟主机的区别
云服务器 Elastic Compute Service, 简称ECS 好多人理解云服务器和VPS一样,更有甚者说以前的VPS现在的说法就是云服务器,其实不然,云服务器是一个计算,网络,存储的组合.简 ...
- 【Three.js】如何选中外部模型
1.问题 three.js中模型选中使用的是射线法,根据摄像机角度,鼠标点击位置和模型选中的distance参数判断来选中模型.对于原生的矢量模型完全没有问题,但是当遇到导入的外部模型,如obj.st ...
- 在国内运行Flutter配置的正确姿势--如出现Oops; flutter has exited unexpectedly.
如果根据flutter的官网教程,在运行flutter doctor时无法下载依赖,请根据以下步骤 export PUB_HOSTED_URL=https://pub.flutter-io.cn ex ...
- Linux下C++开发常用命令
本页面记录本人在Linux下进行C++开发时使用的常用命令,注意这里不包括比如ls,mv等linux命令,这里会持续更新.首先假设你只有一个源程序文件,叫vec.cpp,编译后的可执行程序叫vec(本 ...
- 【Maven学习】远程仓库的配置
很多情况下,默认的中央仓库无法满足项目的需求,我们可能需要配置新的远程仓库,此时我们可以这样配置: <repository> <id>java-net</id> & ...
- ubuntu编译安装protobuf
测试环境:Ubuntu 16.04 LTS 到protobuf的release页面 下载源码:https://github.com/protocolbuffers/protobuf/releases/ ...
- 09 jdk1.5的并发容器:ConcurrentHashMap
一 概述 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能 因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是 ...
- 如何在CentOS7上安装桌面环境?
1.安装 GNOME-Desktop 安装GNOME桌面环境 # yum -y groups install "GNOME Desktop" 完成安装后,使用如下命令启动桌面 # ...
- 跨域 cookies
script标签请求的js脚本,如果跨域了,请求会带有外域的cookies信息. XMLHttpRequest请求跨域时,需要有Access-Control-*等的头信息,如果需要将cookies传输 ...