1、搭建demo
// 得到内置模块,引入NodeJS的内置http模块
var http = require("http")
// 创建服务器,使用createServer方法
// 回调函数中有req参数表示的是请求,res的参数表示的是响应
var serve = http.createServer(function (req,res) {
//输出
res.end("hello Node.js")
})
// 监听,默认的端口是80 我用3000端口
serve.listen(3000)
node 01.js就能运行这个文件

不要关闭这个PowerShell或者CMD窗口,输入网址 127.0.0.1:3000
页面展示
打断CMD使用命令 ctrl+c
一定要维持着光标挂起的状态,如果打断了,此时页面就崩溃了
需要注意的是,如果改变这个文件的内容,此时一定要重新进行node执行
问题:
- 和PHP一样,Node搭建的服务器也是将所有的计算结果扁平化后返回给计算机
- 没有安装Node.js的计算机进行请求我们本地有Node.js的计算机的时候能不能访问我们的功能?答案是可以的,因为Node.js本身就是搭建服务器的,所以我们只要把ip给对应在同网络下的计算机都可以访问,因为本质上访问的不是Node,而是服务器
// 得到内置模块,引入NodeJS的内置http模块
var http = require("http")
// 创建服务器,使用createServer方法
// 回调函数中有req参数表示的是请求,res的参数表示的是响应
var serve = http.createServer(function (req,res) {
//s设置字符集
res.setHeader("Content-type","text/html;charset=UTF8")
//输出
res.end("今花了"+(5+5)+"元吃了顿饭")
})
// 监听,默认的端口是80 我用3000端口
serve.listen(3000)
2、res.end()
res.end不允许输出多行
res.setHeader("Content-type","text/html;charset=UTF8")
//输出
res.end("你好1");
res.end("你好2");
res.end("你好3");
res.end("你好4");
只输出1行
res.end不能输入非字符串
res.end(123);
报错
res.end可以结合HTML标签显示
res.end("<h1>你好<span>Node</span>.js</h1>");
3、res.write()
如果要使用res.write最后必须要有res.end,否则浏览器处于请求状态
多条语句输出使用的是res.write,并且也结合HTML标签进行使用
res.write("<p>你好我是第1行</p>");
res.write("<p>你好我是第2行</p>");
res.write("<p>你好我是第3行</p>");
res.write("<p>你好我是第4行</p>");
res.end("结束了")
和res.end一样不能输入非字符串的内容、
res.end(123);
报错