源码地址:https://github.com/chunsenye/...css
第一步:建立与访问html
建立可经过http://localhost:8090/访问的服务器node
server.jsgit
var http=require('http') var server= http.createServer(function(request,response){ console.log('someone has visited my first node server !'); }) server.listen(8090,function(){ console.log('server started at http://localhost:8090 ......') });
代码解释:
1.首先得依赖http 这个不用npm安装 安装node以后就有了 因此直接依赖就能够
2.而后使用http.createServer(callback)方法建立一个未启动的服务器
3.最后启动一个监听8090端口的服务器github
操做:npm
1.进入server.js所在的文件夹
2.输入 node server.js 运行js文件服务器
3.访问 http://localhost:8090/学习
能访问服务器了,可是还没给响应。因此左上角一直在转,显示等待localhost响应。再看看服务器:ui
访问一次就会多一句信息输出。url
第二步:让服务器响应访问
server.js
var http=require('http') var server= http.createServer(function(request,response){ console.log('someone has visited my first node server !'); response.write('welcome to visited my first node server !'); response.end(); }) server.listen(8090,function(){ console.log('server started at http://localhost:8090 ......') });
多了两句代码:
response.write('welcome to visited my first node server !'); //response就是响应 response.write()能够理解为往响应里面写内容 response.end(); //必需要end
最后的结果就是这样
第三步:根据访问连接来判断响应内容
var http = require('http') var server = http.createServer(function (request, response) { console.log('someone has visited my first node server !'); if (request.url === '/') { response.write('Home Page'); } else if (request.url === '/login') { response.write('Login Page'); } else if (request.url === '/register') { response.write('Register Page'); } else { response.write(request.url); } response.end(); }) server.listen(8090, function () { console.log('server started at http://localhost:8090 ......') });
代码解释:
request.url 的值其实就是http://localhost:8090 后面的内容
默认为/ 表示主页
若是是为/login 表示登陆页面
若是是为/register 表示注册页面
不然 直接响应该连接
这里只是响应了一串字符串,怎么才能响应一个页面呢
第四步:响应HTML页面
server.js
var http = require('http'); // 导入文件读写的js var fs = require('fs'); var server = http.createServer(function (request, response) { console.log('someone has visited my first node server !'); //根据访问的路径来选择响应的文件 let filePath; if (request.url === '/') { filePath='index.html'; } else if (request.url === '/login') { filePath='login.html'; } else if (request.url === '/register') { filePath='register.html'; } else { filePath='notfound.html'; } //读取文件并写入响应内容中去 fs.readFile(filePath,function(err,data ){ response.write(''+data); //不能直接写data 是16进制的数,须要转成字符串 //我写data.toString() 会报错 response.end(); }) }) server.listen(8090, function () { console.log('server started at http://localhost:8090 ......') });
经过上面的代码就能够实现根据不一样的路径响应不一样的文件了
项目文件目录
执行效果
到这里就初步完成了简单的能够响应文件的服务器了,可是还不能响应图片,不能加载js文件与css文件这些我暂时也还不会,慢慢学习。
我把天天的学习代码都放在个人GitHub上了,欢迎来★