分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Nodejs仿Apache的功能

发布时间:2023-09-06 02:03责任编辑:沈小雨关键词:jsNode

一、初步实现Apache功能

//1.加载模块var http=require(‘http‘);var fs=require(‘fs‘);//2.创建servervar server=http.createServer();//3.监听server的request请求事件,设置请求处理函数var wwwDir=‘C:/Users/Administrator/Desktop/Code‘;//设置目录(注意转义符)server.on(‘request‘,function(req,res){ ???var url=req.url; ???if(url===‘/‘){ ???????fs.readFile(wwwDir+‘/index.html‘,function(error,data){ ???????????if(error){//return返回值,阻止代码往后执行 ???????????????return res.end(‘404 Not Found‘); ???????????} ???????????res.end(data); ???????}); ???}else if(url===‘/a.txt‘){ ???????fs.readFile(wwwDir+‘/a.txt‘,function(error,data){ ???????????if(error){//return返回值,阻止代码往后执行 ???????????????return res.end(‘404 Not Found‘); ???????????} ???????????res.end(data); ???????}); ???}else if(url===‘/index.html‘){ ???????fs.readFile(wwwDir+‘/index.html‘,function(error,data){ ???????????if(error){//return返回值,阻止代码往后执行 ???????????????return res.end(‘404 Not Found‘); ???????????} ???????????res.end(data); ???????}); ???}else if(url===‘/app/login.html‘){ ???????fs.readFile(wwwDir+‘/app/login.html‘,function(error,data){ ???????????if(error){//return返回值,阻止代码往后执行 ???????????????return res.end(‘404 Not Found‘); ???????????} ???????????res.end(data); ???????}); ???}});server.listen(3000,function(){ ???console.log(‘server is running....‘);});

二、可以访问目录下的文件(改进版)

//1.加载模块var http=require(‘http‘);var fs=require(‘fs‘);//2.创建servervar server=http.createServer();//3.监听server的request请求事件,设置请求处理函数var wwwDir=‘C:/Users/Administrator/Desktop/Code‘;//设置目录(注意转义符)server.on(‘request‘,function(req,res){ ???var url=req.url; ???var filePath=‘/index.html‘; ??if(url!==‘/‘){ ??????filePath=url; ??} ??fs.readFile(wwwDir+filePath,function(error,data){ ???if(error){ ???????return res.end(‘404 not found‘); ???} ???res.end(data); ??});});server.listen(3000,function(){ ???console.log(‘server is running....‘);});

三、实现Apache目录列表功能

①方法一:字符串替换和拼接

②方法二:利用模板引擎art-template

  • 安装:npm install art-template(自动默认下载到该命令执行的目录中的node_moudule文件夹里,不能改动,也不支持改动)
  • 在需要使用的文件模块中加载art-template(使用require(‘下载包名字’)方法加载,下载名字就是install后面的名字)
  • 查文档使用模板引擎的API

Nodejs仿Apache的功能

原文地址:https://www.cnblogs.com/EricZLin/p/9284919.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved