JavaScript不仅仅只能运行在浏览器中。任何有JS运行环境(runtime)的地方就可以运行JavaScript。
Node.js对Google V8进行了封装。
有了Node.js,JavaScript不仅仅可编写浏览器中的客户端代码,而且可以编写服务端的代码。
在终端打 node -v 查看版本号
node进入交互模式,读取用户输入,执行运算,输出执行结果
退出交互模式,Ctrl+C
mkdir 创建目录
vim index.js 创建文件
node index.js 运行文件
Node.js模块
模块是Node.js应用程序的基本组成部分,文件和模块是意义对应的,即一个文件就是一个模块。
Node.js使用Module(模块)来区分不同的功能对象,每个模块可以导出(exports)自己内部的对象供其他模块使用,也可以引入(require)并使用其他模块中导出的对象。
Node.js模块分类
核心模块--被编译进二进制执行文件,可以被解释器直接使用,加载速度最快。
.js文件模块--运行时候动态加载,需要经过路径分析和文件定位,编译,所以速度比一般核心模块慢。
在终端打subl.就可以打开sublime软件
构建HTTP服务器
//通过require引入HTTP模块
var http = require("http");
//通过http.createServer()创建服务器,并使用listen()方法监听1234端口
//通过res和req接受和响应数据http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/Plain'});
res.end("hello world");
}).listen(1234, "127.0.0.1");
//终端输出信息
console.log("Server is Running at http://localhost:1234");
//打开终端,使用node执行这个js,最简单的web服务器就可以工作了
创建express应用
//包含express模块
var express = require("express");
//创建express应用
var app = express();
app.get("/", function(req, res){
//发送响应信息
res.send("this is home page");
});
app.get("/king", function(req, res){
res.send("hello king");
});
app.listen(1897, "127.0.0.1");
express :1、路由2、中间件3、模板引擎
注意的点:res.sendFile(__dirname + "/index.html");