脚本宝典收集整理的这篇文章主要介绍了创建一个简单的node服务器,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
源码地址:https://github.com/chunsenye/...
第一步:创建与访问
创建可通过http://localhost:8090/访问的服务器
server.js
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端口的服务器
操作:
1.进入server.js所在的文件夹
2.输入 node server.js 运行js文件
3.访问 http://localhost:8090/
能访问服务器了,但是还没给响应。所以左上角一直在转,显示等待localhost响应。再看看服务器:
访问一次就会多一句信息输出。
第二步:让服务器响应访问
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上了,欢迎来★
以上是脚本宝典为你收集整理的创建一个简单的node服务器全部内容,希望文章能够帮你解决创建一个简单的node服务器所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。