static-server

摘要:
varhttp=require('http')varfs=require('sfs')vartemplate=require
var http = require('http')
var fs = require('fs')
var template = require('art-template')
var path = require('path')

var server = http.createServer()

var wwwDir = 'D:/Movie/www'

server.on('request', function (req, res) {
var url = req.url
// 1. 如果是文件,直接读取响应
// 2. 如果是目录,读取渲染目录列表
// 3. 如果目录并且有该目录中有 index.html 则直接渲染目录中的 index.html

var urlPath = path.join(wwwDir, url)

fs.stat(urlPath, function (err, stats) {
if (err) {
return res.end('404 Not Found.')
}
if (stats.isFile()) {
fs.readFile(urlPath, function (err, data) {
if (err) {
return res.end('404 Not Found.')
}
res.end(data)
})
} else if (stats.isDirectory()) {
var templateStr = fs.readFileSync('./static-template.html').toString()
var files = fs.readdirSync(urlPath)
// var data = files.map(function (item) {
// return {
// url:
// name:
// type:
// }
// })
var htmlStr = template.render(templateStr, {
files: files
})
res.end(htmlStr)
}
})
})

server.listen(3000, function () {
console.log('running...')
})

免责声明:文章转载自《static-server》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇win2000/2003终端服务全程图说攻略web安全学习笔记(三):BurpSuite下的Intruder模块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

npm + gulp + scss + 项目架构

原创:格尔尼卡ぃ 在此声明,每部分红色标注为文件的变化,并且都带有关键性的注释语句。希望能给大家带来帮助。 一、npm讲解 https://www.npmjs.com.cn/ NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许...

让Apache支持URL重写

第一步: 添加.htaccess文件 Rewrite 规则 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^...

Node.js安全清单

前言 安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。 以下列出的安全项,大多都具有普适性,适用于除了Node.js外的各种语言和框架。但是,其中也包含一些用Node.js写的小工具。 配置管理 安全性相关的HTTP头 以下是一些安...

老vue项目webpack3升级到webpack5全过程记录(一)

背景 19年新建的vue项目,使用的是webpack3,随着项目的积累,组件的增多导致本地构建,线上打包等操作速度极慢,非常影响开发效率和部署效率,基于此问题,本次对webpack及相关插件进行了优化和升级。本博文分为2篇,第 1 篇 会直接附上可运行的代码(去除了一些业务代码配置),直接粘贴复制即可使用(注意是基于vue2.0项目原配置基础上的修改哦,在...

Nodejs的模块化

1. Node.js中的模块化简介 为什么Node.js中需要模块化 在后台开发语言中,比如Java、C#。他们都是隐含模块化的,Node.js默认帮我们提供了模块化这种机制。 在服务器端,我们想要使用底层的一些功能需要导入一些“包”来对其操作,比如操作文件、网络需要导入对应的包。其它语言中都是基于类来实现的模块化的思想,使用类来组织文件和文件之...

webpack4.x最详细入门讲解

前言 本文主要从webpack4.x入手,会对平时常用的Webpack配置一一讲解,各个功能点都有对应的详细例子,所以本文也比较长,但如果你能动手跟着本文中的例子完整写一次,相信你会觉得Webpack也不过如此。 一、什么是webpack,为什么使用它? 1.1 什么是webpack? 简单来说,它其实就是一个模块打包器。 1.2 为什么使用它? 如果像...