标签:function markdown nodejs res app req fs 文档 var
后台api部分的写法
···
var fs = require('fs')
var path = require('path')
var basePath = 'docs'
let markdown = require('markdown-it')
var md = new markdown({
html: true,
langPrefix: 'code-',
})
function getDirsInDocsFolder() {
var paths = fs.readdirSync(basePath)
return paths
}
function getMdsInFolder(folderName) {
let paths = fs.readdirSync(path.join(basePath, folderName))
return paths
}
function writeMdFile(fileName, folderPath, content) {
fs.writeFile(path.join(basePath, folderPath, fileName), content, function (err) {
console.error(err)
})
}
function readMdFileToHtml(fileName, folderPath) {
var content = fs.readFileSync(path.join(basePath, folderPath, fileName), 'utf-8')
var html = md.render(content)
return html
}
function main() {
console.log('Starting web server')
var express = require('express')
var app = express()
app.use(express.static('.'))
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/', function (req, res, next) {
})
app.get('/cates', function (req, res, next) {
var list = getDirsInDocsFolder()
res.send(list)
})
app.get('/mds', function (req, res, next) {
var folderName = req.query.cate
if (!folderName) res.send([])
var mds = getMdsInFolder(folderName)
res.send(mds)
})
app.get('/md', function (req, res, next) {
let cate = req.query.cate
let fileName = req.query.name
var html = readMdFileToHtml(`${fileName}.md`, cate)
res.send(html)
})
app.post('/md', function (req, res, next) {
var data = req.body
res.send(data)
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log('Listening on http://%s:%s', host, port)
})
}
main();
···
标签:function,markdown,nodejs,res,app,req,fs,文档,var 来源: https://www.cnblogs.com/hualiu0/p/11594414.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。