设置请求头
var http = require("http");
var fs = require("fs");
var server = http.createServer(function (req,res) {
// 如果当前的url不是/favicon.ico,那么执行代码块
if (req.url !== "/favicon.ico"){
// 当前返回的额数据格式为html
res.writeHead(200,{"Content-Type":"application/json"});
// res.writeHead(200,{"Content-Type":"text/html"});
// res.writeHead(200,{"Content-Type":"text/plain"});
var obj = {
name: "henry",
age: 30,
gender: "male"
};
res.end(JSON.stringify(obj));
}
});
server.listen(8888,"127.0.0.1");
console.log("server is running....");
路由
// 引入模块
var fs = require('fs');
var http = require("http");
// 创建服务对象
var server = http.createServer(function (req,res) {
if (req.url !== "/favicon.ico"){
if(req.url == "/home" || req.url=="/"){
res.writeHead(200,{"Content-Type":"text/html"});
fs.createReadStream(__dirname+"/index.html").pipe(res);
}else if(req.url == "/about"){
res.writeHead(200,{"Content-Type":"text/html"});
fs.createReadStream(__dirname+"/about.html").pipe(res);
}else if(req.url == "/content"){
res.writeHead(200,{"Content-Type":"text/html"});
fs.createReadStream(__dirname+"/content.html").pipe(res);
}else {
res.writeHead(200,{"Content-Type":"text/html"});
res.end("404网页请求失败");
}
};
})
// 监听端口号
server.listen(8888,"127.0.0.1");
console.log("server is running....");
express框架
// express 基于node.js的前端开发框架
// 引入express模块
var express = require("express");
// 使用变量接收express返回回来的对象
var app = express();
app.get("/",function (req,res) {
res.sendFile(__dirname + "/index.html");
});
app.get("/contact",function (req,res) {
res.send("asdfasdfa");
});
// 路由参数
app.get("/profile/:id",function (req,res) {
res.send("你所访问的路由参数为: " + req.params.id);
});
app.listen(3333);
事件events
// 模块: 分为两种 1.自定义模块(movie.js) 2.系统模块(events)
/*
- 自定义模块: 引入时必须要加路径
- 系统模块: 引入时直接写名字
- */
// 事件模块
var events = require("events");
// element.on("click",callback); // jq的事件格式
// 实例化事件对象
var myEmitter = new events.EventEmitter();
// 注册事件
// myEmitter.on("事件名称","回调函数");
myEmitter.on("someEvent",function (msg) {
console.log(msg);
});
// 触发事件
myEmitter.emit("someEvent","查看事件触发时,是否可以打印传递过去的参数!");
// util(使用工具)
const util = require("util");
var Person = function (name) {
this.name = name;
}
// 通过使用工具,让Person类继承与事件类
util.inherits(Person,events.EventEmitter);
// 创建对象
var pengfei = new Person("鹏飞");
var wangfan = new Person("王帆");
var chunbo = new Person("波波");
var people = [pengfei,wangfan,chunbo];
// 遍历数组,并将数组中每个元素都注册事件
people.forEach(function (person) {
person.on("sayHi",function (msg) {
console.log(person.name + "对大家说:" + msg);
});
})
// 触发事件
pengfei.emit("sayHi","大家好!");
wangfan.emit("sayHi","我很好!");
chunbo.emit("sayHi","Good Afternoon!");
模块的引用和导出
require()
exports