菜单

js_脚本之家

2020年4月7日 - www.2138.com

前言

协作社后天的制品Axure文书档案在转移好Html文件之后,都以通过git来拓宽处理的,每趟文件更新,大家都急需从git上进行拉取,然后在地头查看,更新会不能自已不如时的难点,大家有的时候忘记git拉取引致现身完毕效果与利益与最后产物稿分歧。前段时间在看Koa的事物,由此通过git
hooks
搭配Koa来达成了三个在线预览,完毕上海南大学学致是依照采访路线查找内定目录,然后对目录进行遍历,然后依据目录和文件类型的分别重回相应的数据。

实现

www.2138.com,做的长河中须要注意的点,

对此在Git服务端的公文是在.Git文件夹下的,因而我们力不能支得到其文件目录,达成的情势是经过git
clone的方式将其clone下来,然后通过git
hook的方法,当有push操作之后,则实践git
pull来将文件拉取到本地,通过这种办法来将产生文件的实时更新。
文件的归来,对于图片文件的读取情势要透过二进制的主意,对于任何的公文,如css,js之类要因而

Utf-8的格局,以前联合通过binary的方法读取,然后回到引致图片可以来得,但是js试行报错。

const Koa = require;const path = require;const fs = require;let mimes = { 'css': 'text/css', 'html': 'text/html', 'jpg': 'image/jpeg', 'jpeg': 'image/jpeg', 'json': 'application/json', 'js': 'text/javascript', 'xml': 'text/xml', 'png': 'image/png', 'pdf': 'application/pdf', 'less': 'text/css', 'gif': 'image/gif', 'txt': 'text/plain', 'tiff': 'image/tiff', 'svg': 'image/svg+xml'};// Scan dirfunction walk { let files = fs.readdirSync; let fileList = []; for (let i = 0, len = files.length; i< len; i++) { let item = files[i]; if  { continue; } let realPath = reqPath + '/' + files[i]; if  { fileList.push(filter; } else { fileList.push; } } return fileList;}function isDir{ return fs.existsSync && fs.statSync; } //function filter { let files = fs.readdirSync(reqPath + '/' + filePath); for (let i = 0; i < files.length; i++) { let item = files[i]; if (item.endsWith { return filePath + '/' + 'index.html'; } } return filePath;}function dir { let contentList = walk; let result = 'Product Document

‘; return result;}async function file { let resultMime = parseMime; let
content; if (resultMime && resultMime.indexOf { content =
fs.readFileSync; } else { content = fs.readFileSync; } return
content;}async function content { let url = decodeURI; let reqPath =
path.join; let exist = fs.existsSync; let content = ”; if { content =
‘Local file not exists’; } else { let stat = fs.statSync; if { content =
dir; } else { content = await file; } } return content;}function
parseMime { let extName = path.extname; extName = extName ?
extName.slice : ‘unknown’; return mimes[extName];}const app = new
Koa();const staticPath = ‘../onlinedoc’;`请输入代码`app.use => {
let fullStaticPath = path.join(__dirname, staticPath); let
resultContent = await content; let resultMime = parseMime; if { ctx.type
= resultMime; } if(resultMime && resultMime.indexOf { ctx.res.writeHead;
ctx.res.write(resultContent, ‘binary’); ctx.res.end(); } else { ctx.body
= resultContent; }});app.listen => { console.log;

以上正是本文的全部内容,希望对我们的就学抱有助于,也冀望我们多都赐教脚本之家。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图