简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时创建的一个平台。
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度很是快,性能很是好。php
$ node -v v4.4.3
console.log("Hello World");
node helloworld.jshtml
Node.js 与写 php web/java web 来讲,概念彻底不同。java
使用 Node.js 时,咱们不单单 在实现一个应用,同时还实现了整个 HTTP 服务器。node
在咱们建立 Node.js 第一个 web "Hello, World!" 应用前,让咱们先了解下 Node.js 应用是由哪几部分组成的:git
引入 required 模块:咱们可使用 require 指令来载入 Node.js 模块。github
建立服务器:服务器能够监听客户端的请求,相似于 Apache 、Nginx 等 HTTP 服务器。web
接收请求与响应请求 服务器很容易建立,客户端可使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。express
var http = require('http'); http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World" response.end('Hello World\n'); }).listen(8888); // 终端打印以下信息 console.log('Server running at http://127.0.0.1:8888/');
分析 Node.js 的 HTTP 服务器 :npm
第一行请求(require)Node.js 自带的 http 模块,而且把它赋值给 http 变量。
接下来咱们调用 http 模块提供的函数: createServer 。这个函数会返回 一个对象,这个对象有一个叫作 listen 的方法,这个方法有一个数值参数, 指定这个 HTTP 服务器监听的端口号。json
NPM 是随同 NodeJS 一块儿安装的包管理工具,能解决 NodeJS代码 部署上的不少问题
常见的使用场景有如下几种:
容许用户从 NPM服务器 下载别人编写的第三方包到本地使用。
容许用户从 NPM服务器 下载并安装别人编写的命令行程序到本地使用。
容许用户将本身编写的包或命令行程序上传到 NPM服务器 供别人使用。
显示版本 npm -v
firstWebApp git:(master) ✗ npm -v 2.14.20
查看全部全局安装的模块
➜ ~ npm ls -g /Users/hp/.nvm/versions/node/v4.4.0/lib ├─┬ express@4.13.4 │ ├─┬ accepts@1.2.13 │ │ ├─┬ mime-types@2.1.11 │ │ │ └── mime-db@1.23.0 │ │ └── negotiator@0.5.3 │ ├── array-flatten@1.1.1 │ ├── content-disposition@0.5.1 ...
package.json 位于模块的目录下,用于定义包的属性。接下来让咱们来看下 express 包的 package.json 文件,位于 node_modules/express/package.json 内容:
{ "name": "express", "description": "Fast, unopinionated, minimalist web framework", "version": "4.13.3", "author": { "name": "TJ Holowaychuk", "email": "tj@vision-media.ca" }, "contributors": [ ... ...
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的做者姓名。
contributors - 包的其余贡献者姓名。
dependencies - 依赖包列表。若是依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
repository - 包代码存放的地方的类型,能够是 git 或 svn,git 可在 Github 上。
main - main 字段是一个模块ID,它是一个指向你程序的主要项目。就是说,若是你包的名字叫 express,而后用户安装它,而后require("express")。
keywords - 关键字
➜ npm uninstall express ➜ npm ls ➜ npm update express ➜ npm search express
建立模块,package.json 文件是必不可少的。咱们可使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。